@font-face{font-family:Inter;src:url(/3d-lab/jellyfish/fonts/inter-tight-400-800-cyrillic.woff2?v=cd078966b4b3) format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Inter;src:url(/3d-lab/jellyfish/fonts/inter-tight-400-800-latin.woff2?v=cd078966b4b3) format('woff2');font-weight:400 800;font-display:swap;unicode-range:U+0000-024F}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#05161b;color:#e8ece4;font-family:Inter,Arial,sans-serif}body{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,#gesture:focus-visible{outline:2px solid #f5c9a3;outline-offset:5px}button:disabled{opacity:.35;cursor:wait}button{background:none;border:0}main{position:relative;height:100svh;min-height:560px;isolation:isolate}#poster,#poster img,#ocean,#gesture{position:absolute;inset:0;width:100%;height:100%}#poster img{object-fit:cover}#ocean{opacity:0;transition:opacity 1.4s}#ocean canvas{display:block;width:100%;height:100%}.ready #ocean{opacity:1}.ready #poster{visibility:hidden}#gesture{touch-action:none;cursor:crosshair;z-index:1}.orbit #gesture{cursor:grab}.orbit #gesture:active{cursor:grabbing}.ui{z-index:2;position:absolute;transition:opacity .4s}.topbar{top:30px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between}.edition,.eyebrow,.label{font-size:10px;letter-spacing:2.2px;font-weight:400}.edition{opacity:.4}.lab-nav{font-size:13px}.portfolio{opacity:.6}.intro{left:6%;top:23%;pointer-events:none}.eyebrow{margin:0;color:#acbdb7}.intro .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>i{width:5px;height:5px;border-radius:50%;background:#b4c7a3}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(70px,7.8vw,130px);font-weight:400;letter-spacing:-6px;margin:20px 0 22px;line-height:1}h1>span{color:#c6a686}.poem{font-size:17px;line-height:1.7;letter-spacing:.2px;color:#c2cdc7;margin:0}.hairline{display:block;width:35px;height:1px;background:#73817b;margin:32px 0 18px}.invitation{font-size:12px;line-height:1.7;color:#829b97}.specimen{right:5%;top:36%;display:flex;align-items:center;gap:15px}.specimen-cross{font-size:24px;font-weight:400;color:#c4b195}.specimen .eyebrow{font-size:8px;letter-spacing:1.5px}.specimen i{display:block;font-family:Georgia,serif;font-size:17px;color:#c0cec6;margin-top:10px}.specimen button{border:1px solid #ffffff25;border-radius:50%;width:44px;height:44px;font-family:Georgia,serif;font-style:italic;font-size:17px}.depth{right:43px;top:55%;display:flex;flex-direction:column;align-items:center;gap:18px}.depth span{font-size:8px;letter-spacing:2px;writing-mode:vertical-rl;color:#708c89}.depth>i{width:1px;height:70px;background:linear-gradient(#6e8782,transparent)}.deck{bottom:62px;left:6%;right:6%;min-height:78px;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff15;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(90deg,#06191b70,#06191b10);backdrop-filter:blur(12px)}.deck button{min-height:46px;font-size:13px;white-space:nowrap}.mode-group{display:flex;gap:28px}.mode-group button{color:#829792;padding:0}.mode-group button[aria-pressed=true]{color:#ebebe1}.mode-group span{margin-left:20px;font-size:20px;font-weight:400}.light-control{display:flex;align-items:center;gap:6px}.light-control .label{font-size:9px;color:#7e9791;margin-right:16px}.light-control button{width:44px;display:grid;place-items:center}.light-control i{display:block;width:15px;height:15px;border-radius:50%;background:#d1e7dc;outline-offset:5px}.light-control [data-light=amber] i{background:#dca477}.light-control [aria-pressed=true] i{outline:1px solid #93a9a1}.play-group{display:flex;align-items:center;gap:18px}.play-group button{min-width:44px}.play-group #slow{padding-right:16px;color:#c5cdc5}.play-group #slow span{color:#829792;margin-left:14px}#slow[aria-pressed=true]{color:#f3ceaa}#pause,#immerse{font-size:22px}.bottomline{left:6%;right:6%;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#819691}.bottomline p{margin:0}.bottomline button{min-height:32px;font-size:11px;white-space:nowrap}.immersed .ui{opacity:0;pointer-events:none}#leave-immersion{position:absolute;bottom:30px;right:30px;z-index:5;border:1px solid #ffffff35;padding:14px 20px;background:#06191b99;border-radius:30px;font-size:12px}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;letter-spacing:3px;z-index:3}.ready #loading,.failed #loading{display:none}#fallback,.no-js{position:absolute;bottom:160px;left:6%;right:6%;font-size:12px;color:#d4ba96}.failed #ocean{display:none}.failed #gesture{pointer-events:none}.failed #poster{visibility:visible}dialog{background:#0b2124;color:#d3dfd7;border:1px solid #435351;max-width:520px;width:calc(100% - 36px);max-height:85svh;padding:42px}dialog::backdrop{background:#0009;backdrop-filter:blur(12px)}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:48px;line-height:1.1;margin:26px 0}dialog h2 em{color:#dbbea0}dialog p{font-size:14px;line-height:1.65}dialog .credit{color:#8fa5a0;font-size:12px;border-top:1px solid #ffffff20;padding-top:20px}dialog a{display:inline-block;font-size:12px;margin-top:12px;text-decoration:underline;text-underline-offset:4px}#about-close{position:absolute;right:10px;top:10px;width:44px;height:44px;font-size:26px}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}[hidden]{display:none!important}
@media(max-width:1100px){.specimen{right:4%;top:24%}.specimen .eyebrow{display:none}.specimen i{font-size:13px}.intro{left:5%;top:24%}.deck,.bottomline{left:5%;right:5%}.mode-group{gap:20px}.mode-group span{margin-left:10px}.play-group{gap:5px}.deck{gap:16px}.light-control .label{display:none}.depth{right:22px}.topbar{left:28px;right:28px}.poem{font-size:15px}}
@media(max-width:700px){main{min-height:480px}.topbar{top:16px;left:20px;right:20px}.edition,.depth{display:none}.lab-nav{gap:16px}.intro{left:24px;top:110px}.intro .eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:66px;letter-spacing:-3px;margin:13px 0}.poem{font-size:12px;line-height:1.55}.poem br:last-child{display:none}.hairline,.invitation{display:none}.specimen{top:auto;bottom:208px;left:24px;right:auto;gap:10px}.specimen .eyebrow{display:block;font-size:7px}.specimen i{font-size:13px;margin-top:5px}.specimen-cross{font-size:18px}.specimen button{width:44px;height:44px}.deck{left:24px;right:24px;bottom:64px;display:grid;grid-template-columns:1fr auto;gap:0;min-height:124px}.mode-group{grid-column:1 / -1;border-bottom:1px solid #ffffff12;justify-content:space-between;gap:12px}.deck button{font-size:12px;min-height:52px}.light-control{gap:0}.light-control button{width:40px}.play-group{gap:2px}.play-group #slow{padding-right:10px}.play-group #slow span{margin-left:7px}.play-group #pause,.play-group #immerse{font-size:21px}.bottomline{left:24px;right:24px;bottom:14px;font-size:9px;align-items:flex-start;gap:12px}.bottomline p{max-width:210px;line-height:1.5}.bottomline button{font-size:9px;min-height:28px;padding:0}.specimen .eyebrow{letter-spacing:1px}dialog{padding:30px}dialog h2{font-size:38px}}
@media(max-width:360px){.intro{top:92px}h1{font-size:56px}.topbar{left:18px;right:18px}.intro,.specimen{left:20px}.deck,.bottomline{left:20px;right:20px}.mode-group span{margin-left:4px}.deck button{font-size:11px}.play-group button{min-width:38px}.specimen{bottom:195px}.specimen .eyebrow{display:none}}
@media(max-height:650px) and (min-width:701px){.intro{top:20%}h1{font-size:78px}.poem{font-size:13px}.hairline{margin:16px 0}.invitation{display:none}.specimen{top:24%}.deck{bottom:44px;min-height:64px}.bottomline{bottom:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* The shared utilities stay reachable without covering the scene controls. */
body .article-utility-tab{--utility-bg:#183235;--utility-fg:#b4c6bc;border:1px solid #ffffff20}.immersed .article-utility-rail{visibility:hidden;pointer-events:none}
@media(max-width:700px){body .article-utility-rail{top:44%;bottom:auto;height:max-content}.specimen{left:auto;right:24px;bottom:202px}.specimen-cross,.specimen .eyebrow{display:none}.specimen i{font-size:11px;color:#8ba69c}}
@media(max-height:520px){main{min-height:0;height:100svh}.topbar{top:10px;left:20px;right:20px}.intro{top:82px;left:28px}.intro .eyebrow{font-size:7px}h1{font-size:55px;margin:12px 0}.poem{font-size:11px}.hairline,.invitation,.depth,.specimen .eyebrow{display:none}.specimen{top:100px;bottom:auto;left:auto;right:25px}.specimen i{font-size:12px}.deck{left:28px;right:28px;bottom:38px;min-height:56px;display:flex;gap:16px}.mode-group{border:0;gap:18px}.deck button{min-height:44px;font-size:11px}.light-control .label{display:none}.light-control button{width:34px}.play-group{gap:0}.play-group #slow{padding-right:0}.play-group #slow span{margin-left:5px}.bottomline{bottom:6px;left:28px;right:28px;font-size:9px}.bottomline p{max-width:none}.bottomline button{font-size:9px}body .article-utility-rail{top:90px;bottom:auto;height:max-content}.article-utility-tab{min-height:44px}}
@media(min-width:701px) and (max-width:1100px){body .article-utility-rail{top:44%;bottom:auto;height:max-content}}
@media(max-width:700px) and (min-height:521px){body .article-utility-rail{top:64px;bottom:auto;left:auto;right:20px;display:flex;gap:5px;height:44px}body .article-utility-tab{width:44px;min-height:44px;padding:0;display:grid;grid-template-columns:44px;transform:none;border-radius:50%;border:1px solid #ffffff20;box-shadow:none}body .article-utility-tab span{display:none}body .article-utility-tab svg{width:17px;height:17px}}
@media(max-height:520px){body .article-utility-rail{top:62px;bottom:auto;left:auto;right:20px;display:flex;gap:5px;height:44px}body .article-utility-tab{width:44px;min-height:44px;padding:0;display:grid;grid-template-columns:44px;transform:none;border-radius:50%;border:1px solid #ffffff20;box-shadow:none}body .article-utility-tab span{display:none}body .article-utility-tab svg{width:17px;height:17px}.specimen{top:124px}.specimen i{display:none}}

body{--scene-brand-surface:#05161b}
