:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f3f5f6;background:#111f26;font-size:16px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}[hidden]{display:none!important}
.entrance{position:relative;isolation:isolate;min-height:720px;min-height:max(720px,100svh);overflow:hidden;display:flex;flex-direction:column;align-items:center}
.landscape{position:absolute;inset:0;z-index:-2;background:#526e7d}.coast{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(.86) saturate(.82)}
.boat-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.boat{width:min(114%,1800px);height:auto;max-width:none;flex-shrink:0;transform:translateY(1%)}
.entrance:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,21,32,.62),rgba(6,21,32,.06) 35%,transparent 54%,rgba(6,21,32,.54) 76%,rgba(6,21,32,.9))}
.entrance-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(22px,env(safe-area-inset-top)) clamp(22px,4vw,64px) 0;min-height:72px}.edition{font-size:.75rem;letter-spacing:.16em;line-height:1.6;color:#e4ecf0}.install-button{min-height:44px;border:1px solid #ecf2f43d;background:#10253235;border-radius:999px;color:#f3f5f6;font-size:.875rem;padding:10px 18px;white-space:nowrap}
.identity{text-align:center;margin-top:clamp(18px,3svh,44px)}.wave{width:76px;height:30px;display:block;margin:auto;color:#e7edf0}.tech-label{display:block;font-size:.75rem;letter-spacing:.36em;padding-left:.36em;margin-top:12px;color:#f1f4f5}.identity h1{font-size:clamp(22px,2.1vw,32px);font-weight:400;letter-spacing:.3em;padding-left:.3em;margin:24px 0 0;line-height:1.35}
.invitation{margin-top:auto;text-align:center;padding:260px 24px 28px;width:100%}.intro{font-size:clamp(24px,2.5vw,36px);font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:0 0 22px;text-shadow:0 2px 20px #06152266}
.enter{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:58px;min-width:244px;padding:16px 26px;border:1px solid #ecf3f586;border-radius:999px;background:#0d263b45;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;font-size:1rem;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}.enter svg{width:23px;height:23px;flex:none;transition:transform .25s}.enter:hover{background:#183d52b3;border-color:#fff;transform:translateY(-2px)}.enter:hover svg{transform:translateX(4px)}.install-button:hover{background:#10253299}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:5px}
.disciplines{font-size:.875rem;line-height:1.7;color:#d8e3e8;margin:20px 0 0}.disciplines span{padding:0 9px;color:#a0b8c6}.entrance-footer{width:100%;display:flex;justify-content:space-between;gap:18px;padding:0 clamp(22px,4vw,64px) max(26px,env(safe-area-inset-bottom));font-size:.75rem;line-height:1.6;letter-spacing:.045em;color:#c0d0da}.entrance-footer strong{font-weight:500;color:#ecf3f5}
/* Installation shares the cockpit's existing behaviour. */
dialog{width:min(520px,calc(100vw - 32px));max-height:85svh;overflow:auto;border:1px solid #526671;border-radius:20px;padding:32px;background:#142833;color:#eef3f5;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#07141cba;backdrop-filter:blur(6px)}dialog h2{font-size:1.6rem;font-weight:500;line-height:1.25;margin:16px 0}dialog p{font-size:1rem;line-height:1.6}dialog .small{font-size:.875rem;color:#b8cbd5}dialog .section-label{font-size:.75rem;letter-spacing:.12em;margin-top:18px;color:#c8dae3}dialog button{min-height:44px;padding:10px 18px;border:1px solid #728894;border-radius:8px;background:#e5eef2;color:#102632}.dialog-close{position:absolute;top:14px;right:14px;font-size:1.4rem}.install-icon{border-radius:18px}.connection-notice{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#142833;color:#eef3f5;padding:16px 24px;font-size:.875rem;line-height:1.5}
@media(min-width:1700px){.boat{width:1800px}}
@media(max-width:650px){.entrance{min-height:max(680px,100svh)}.entrance-header{padding:16px 20px 0;padding-top:max(16px,env(safe-area-inset-top));gap:10px}.edition{font-size:.75rem;max-width:130px;letter-spacing:.1em}.install-button{font-size:.875rem;padding:9px 14px}.identity{margin-top:32px}.identity h1{font-size:23px;margin-top:22px}.wave{width:66px}.boat{width:145%;transform:translateY(-6%)}.coast{object-position:48% 50%}.invitation{padding:220px 18px 24px}.intro{font-size:28px;margin-bottom:20px}.disciplines{max-width:300px;margin:18px auto 0}.disciplines span{padding:0 4px}.entrance-footer{justify-content:center;flex-direction:column;gap:4px;text-align:center;padding:0 20px max(22px,env(safe-area-inset-bottom))}}
@media(max-height:560px) and (min-width:651px){.entrance{min-height:650px}.identity{margin-top:10px}.boat{width:900px}.invitation{padding-top:200px}}
@media(prefers-reduced-motion:no-preference){.identity{animation:arrive 1.1s ease both}.invitation{animation:arrive 1.2s .15s ease both}.coast{animation:coastal-drift 24s ease-in-out infinite alternate}.entrance:has(.install-button:focus-visible) .coast{animation-play-state:paused}}
@keyframes arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes coastal-drift{from{transform:scale(1.015) translateX(-.2%)}to{transform:scale(1.015) translateX(.2%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
