

html {
    font: 16px "Open Sans", Arial, Helvetica, Noto Sans KR, Noto Sans JP, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

body {
    background: var(--bgBlack);
    color: var(--fontColor);
    font-size: 1rem;
    font-weight: 300;
    text-rendering: optimizeLegibility;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    min-height: 100vh;
}    




h1 {
    font-size: 2rem; 
    margin-bottom: 1rem; 
    line-height: 2;
}


h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    line-height: 2;
}

h3 {
    font-size: 1.5rem;
    line-height: 2;
}


p { margin-bottom: 1rem; }

ul, ol {
    margin-bottom: 1rem;
    padding-left: 1.25rem; /* 20px */
}

ul { list-style-type: disc; }
ol { list-style-type: decimal; }
li { margin-bottom: 0.5rem; }




.buttonPrim {
    align-items: center;
    background-image: linear-gradient(144deg,#AF40FF, #5B42F3 50%,#00DDEB);
    border-radius: 1.2em;
    display: flex;
    justify-content: center;
    line-height: 1em;
    text-decoration: none;
    touch-action: manipulation;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    border: 0;
    padding: 0.7em 1em;
    max-height: 2.8rem;
}

.buttonPrim span {
    border-radius: 1em;
    width: 100%;
    height: 100%;
    transition: 300ms;
    margin: 0.2em;
    color: white;
}

.buttonPrim img {
    height: 1.5rem;
    padding-right: 0.3rem;
}


.buttonSecond {
    align-items: center;
    background-image: linear-gradient(144deg,#AF40FF, #5B42F3 50%,#00DDEB);
    border-radius: 1.2em;
    display: flex;
    justify-content: center;
    line-height: 1em;
    text-decoration: none;
    touch-action: manipulation;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    color: var(--bgBlack);
    border: 0;
    padding: 0.7em 1em;
    position: relative;
    max-height: 2.8rem;
}

.buttonSecond::after{
  content: '|';
  background-color: white;
  border-radius: 0.9rem;
  position: absolute;
  width: calc(100% - 0.6rem);
  z-index: 1;
  color: transparent;
  height: calc(100% - 0.6rem);
}


.buttonSecond span {
    width: 100%;
    height: 100%;
    transition: 300ms;
    margin: 0.2em;
    position: relative;
    z-index: 2;
}

.panel {
  border: 4px solid #2c2c2c;
  border-radius: 0.5rem;
  padding: 2rem;
  display: flex;
  gap: 2rem;
  background-color: #0000002b;
  align-items: center;
  width: min-content;
  position: relative;
}

.panelTitle {
  font-size: 2rem;
  line-height: 1;
  width: 100%;
  margin: 0;
}

.panel label {
    display: block;
    padding: 0.2rem 1rem;
}

.panel input { 
    display: block;
    width: 20rem;
    padding: 0.4rem;
}



.flexColumn { flex-direction: column;}
.marginAuto { margin: auto; }

/*
.blockAlt {
    background-color: var(--color2bg);
    padding: 2rem;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
*/





.bgCage {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: -1;
    opacity: 0.7;
    overflow: hidden;
    background: conic-gradient(from 90deg at 1px 1px,#0000 90deg, var(--bgCageColor) 0) 0 0/40px 40px;   
}

.bgCage::after {
    content: "";
    position: absolute;
    inset: 70% 0 0;
    background: linear-gradient(transparent,var(--bgBlack));
}



.bgCageCircle1 {
    position: absolute;
    top: -80%;
    left: -20%;
    width: 150vh;
    height: 150vh;
    opacity: .2;
    background: radial-gradient(circle,var(--gra1) 0%,transparent 70%);
    animation: 4s intro1;
}

@keyframes intro1 {
    0%   { filter: brightness(0); left: 0%; top: -70%;}
    100%  { filter: brightness(1); left: -20%; top: -80%;}
}


.bgCageCircle2 {
    position: absolute;
    top: -50%;
    left: 50%;
    width: 150vh;
    height: 150vh;
    opacity: .3;
    background: radial-gradient(circle,var(--gra2) 0%,transparent 70%);
    animation: 6s intro2;
}

@keyframes intro2 {
    0%   { filter: brightness(0); left: 40%; top: -60%;}
    100%  { filter: brightness(1); left: 50%; top: -50%;}
}
