*,*::before,*::after {
    box-sizing: border-box
}

:root {
    --white: #fff;
    --ink: #1d1d1f;
    --muted: #6e6e73;
    --red: #ff3b30;
    --terminal-border: rgba(0,0,0,.18);
    --terminal-shadow: 0 24px 70px rgba(0,0,0,.18),0 2px 10px rgba(0,0,0,.10);
    --mono: "SFMono-Regular","SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}

html,body {
    width: 100%;
    height: 100%;
    margin: 0;
    background: #fff
}

body {
    overflow: hidden;
    color: var(--ink);
    font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
    -webkit-font-smoothing: antialiased
}

.stage {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    background: #fff;
    isolation: isolate
}

.stage__video {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom;
    background: #fff;
    top: auto;
    bottom: 0;
}

.framer-1q3objw-container {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60vh;
    height: 60svh;
    pointer-events: none;
    /* background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%); */
    display: none;
}

main::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    -webkit-backdrop-filter: contrast(1.5);
    backdrop-filter: contrast(1.75);
    /* background: linear-gradient(180deg, #ffffff, transparent); */
}

main::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    /* -webkit-backdrop-filter: contrast(1.5); */
    /* backdrop-filter: contrast(1.5); */
    background: linear-gradient(180deg, #ffffff, transparent);
    height: 25vh;
    /* opacity: 0; */
}
.terminal {
    position: absolute;
    z-index: 5;
    /* top:clamp(16px,3.4vh,38px); */
    /* left:50%; */
    /* transform:translateX(-50%); */
    width: 100%;
    /* height:min(440px,47svh); */
    min-height: 100vh;
    /* background:#fff; */
    /* border:1px solid var(--terminal-border); */
    /* border-radius:12px; */
    /* box-shadow:var(--terminal-shadow); */
    overflow: hidden;
    transition: opacity .45s ease,transform .45s ease;
    will-change: opacity,transform
}

.terminal.is-dismissed {
    opacity: 0;
    transform: translate(-50%,-18px);
    pointer-events: none
}

.terminal__bar {
    height: 44px;
    display: grid;
    grid-template-columns: 118px 1fr 118px;
    align-items: center;
    background: linear-gradient(#fbfbfb,#f2f2f2);
    border-bottom: 1px solid rgba(0,0,0,.16);
    padding: 0 13px;
    user-select: none
}

.traffic-lights {
    display: flex;
    gap: 8px;
    align-items: center
}

.traffic-light {
    display: block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.12)
}

.traffic-light--red {
    background: #ff5f57
}

.traffic-light--yellow {
    background: #febc2e
}

.traffic-light--green {
    background: #28c840
}

.terminal__title {
    text-align: center;
    color: #3a3a3c;
    font: 600 13px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.terminal__screen {
    height: calc(100% - 88px);
    overflow: auto;
    padding: 16px 18px 8px;
    /* background:#fff; */
    color: #111;
    font: 14px/1.43 var(--mono);
    letter-spacing: 0;
    white-space: pre-wrap;
    scrollbar-width: none
}

.terminal__screen::-webkit-scrollbar {
    display: none
}

.terminal__line {
    min-height: 20px
}

.terminal__line--error {
    color: #d70015
}

.terminal__line--muted {
    color: #6e6e73
}

.terminal__line--success {
    color: #17823b;
    font-weight: 600
}

.terminal__input-row {
    height: 44px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 3px 18px 12px;
    /* background:#fff; */
    font: 14px/1.43 var(--mono);
    transition: opacity .18s ease
}

.terminal__input-row.is-hidden {
    visibility: hidden;
    opacity: 0
}

.terminal__prompt {
    flex: 0 0 auto;
    color: #111;
    white-space: nowrap
}

.terminal__input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    color: #111;
    font: inherit;
    line-height: inherit;
    caret-color: #111;
    border-radius: 0
}

.terminal__input::selection {
    background: #b8d6ff
}




@media (min-width: 769px) {

    .stage__video_div {
        width: 60vw;
        position: absolute;
        left: auto;
        right: 0;
        top: 0;
        bottom: 0;
    }
.stage__video_div:after {
    content: '';
    background: linear-gradient(90deg, #ffffff, transparent);
    position: absolute;
    height: 100vh;
    width: 5vw;
    z-index: 3;
}
}

/* macOS Terminal-style rectangular blinking cursor */
.terminal__input {
    flex: 0 0 auto;
    width: 1ch;
    min-width: 1ch;
    caret-color: transparent;
}

.terminal__block-cursor {
    display: inline-block;
    flex: 0 0 auto;
    width: .62em;
    height: 1.18em;
    margin-left: -5px;
    margin-top: .08em;
    background: #111;
    vertical-align: text-bottom;
    animation: terminal-cursor-blink 1s steps(1, end) infinite;
}

.terminal__typing-cursor {
    display: inline-block;
    width: .62em;
    height: 1.18em;
    margin-left: .08em;
    background: #111;
    vertical-align: -.18em;
    animation: terminal-cursor-blink 1s steps(1, end) infinite;
}

@keyframes terminal-cursor-blink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }
}

.terminal__line--spinner {
  white-space: pre;
}

.terminal__spinner {
  display: inline-block;
  width: 1ch;
  text-align: left;
}


.stage__clip-player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

.stage__video--clip {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
}

.stage__video--clip.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}


/* Seamless fragment handoff */
.stage__clip-player {
    isolation: isolate;
    background: #fff;
}

.stage__video--clip {
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    transition: opacity 110ms linear;
    will-change: opacity;
    backface-visibility: hidden;
    transform: translateZ(0);
}

.stage__video--clip.is-active {
    visibility: visible;
    opacity: 1;
}

.stage__video--clip.is-front {
    z-index: 2;
}

.stage__video--clip.is-fading-out {
    opacity: 0;
    z-index: 3;
}


/* Smooth transition from the terminal to the Survivor certificate. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 680ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 680ms;
}

body.is-page-leaving::after {
  opacity: 1;
  visibility: visible;
  transition: opacity 680ms cubic-bezier(.22,.61,.36,1);
}

body.is-page-leaving .stage {
  opacity: .72;
  transform: scale(.995);
  transition: opacity 680ms cubic-bezier(.22,.61,.36,1), transform 680ms cubic-bezier(.22,.61,.36,1);
}
