*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 160%;
  font-style : normal;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
input, textarea, select {
  -webkit-user-select: auto;
  font-family : inherit;
  font-size : 100%;
}

html {
  touch-action: manipulation;
  height: -webkit-fill-available;
}
body {
  font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  width: 100%;
}



@keyframes hide { 0% { opacity: 1; display: block; } 1% { opacity: 1; display: block; } 100% { opacity: 0; display: none;  } }
@keyframes show { 0% { opacity: 0; display: none;  } 1% { opacity: 0; display: block; } 100% { opacity: 1; display: block; } }



article { position: fixed; height: 100%; width: 100%; }
article > div:first-child { height: 100%; width: 100%; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
article > div:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
article.hide { display: none; -webkit-animation: hide 1s forwards; }
article.show { display: block; -webkit-animation: show 1s forwards; }



dialog {
  position: fixed;
  height: 100%;
  width: 100%;
  border: 0;
  background: rgba(0,0,0,.5);
}
dialog.hide { display: none;  -webkit-animation: hide 1s forwards; }
dialog.show { display: block; -webkit-animation: show 1s forwards; }
dialog > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1rem;
  padding-bottom: 4rem;
  height: auto;
  width: min(calc(100% - 2rem), 30rem);
  border: 2px solid #333;
  border-radius: .5rem;
  background-color: #fff;
  display: flex; flex-direction: column; gap: 1rem;
}
dialog h1   { font-size: 130%; font-weight: bold; }
dialog h2   { font-size: 120%; font-weight: bold; }
dialog h3   { font-size: 110%; font-weight: bold; }
dialog p    { font-size: 100%; }
dialog span { font-size: 100%; }
dialog button {
  cursor: pointer;
  -webkit-appearance: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  height: 3.2rem;
  width: 3.2rem;
  font-size: 80%;
  font-weight: bold;
  color: #333;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 50%;
}



header {
  height: 3.4rem;
  width: 100%;
  display: flex; flex-direction: row; align-items: center;
  background-color: #000;
}
header a              { cursor: pointer; }
header a:nth-child(1) { display: block; height: 3.4rem; width: 3.4rem; padding: .6rem; margin-right: auto; }
header a:nth-child(2) { display: block; height: 3.4rem; width: 3.4rem; padding: 1rem; }
header a:nth-child(3) { display: block; height: 3.4rem; width: 3.4rem; padding: 1rem; }
header img            { height: 100%; width: 100%; }



footer {
  display: flex; flex-direction: column; gap: 1rem;
  width: 100%;
  background-color: #ddd;
  padding: 1rem;
}
footer *       { color: #999; }
footer div:nth-child(1)         { display: flex; flex-direction: row; justify-content: space-between; }
footer div:nth-child(1) ul      { display: flex; flex-direction: column; gap: .25rem; }
footer div:nth-child(1) ul li   { display: block; }
footer div:nth-child(1) ul li a { text-decoration: none; cursor: pointer; font-size: 90%; color: #17c; }
footer div:nth-child(1) img     { height: 6rem; width: 6rem; border-radius: .25rem; }
footer div:nth-child(2)         { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 1.6rem; }
footer div:nth-child(2) a       { display: flex; align-items: center; }
footer div:nth-child(2) svg     { max-height: 1.6rem; max-width: 1.6rem; }
footer small   { display: block; font-size: 60%; }



section {
  position: relative;
  padding: 1rem;
  display: flex; flex-direction: column; gap: 1rem;
  width: 100%;
}
section *  { color: #333; }
section h1 { font-size: 160%; }
section h2 { font-size: 140%; }
section h3 { font-size: 120%; }
section p  { font-size: 90%; }
section ul { font-size: 90%; list-style: disc; }
section li { margin-left: 1.5em; }
section dl { }
section dt { }
section label {
  display: block;
  line-height: 2.6rem;
  height: 2.6rem;
  width: 100%;
  font-size: 100%;
  font-weight: bold;
}
section input {
  cursor: pointer;
  display: block;
  height: 2.6rem;
  width: 100%;
  padding: .5rem;
  background-color: transparent;
  border: 1px solid #999;
  border-radius: .25rem;
  font-size: 100%;
  -webkit-appearance: none;
}
section textarea {
  cursor: pointer;
  display: block;
  min-height: 8rem;
  width: 100%;
  padding: .5rem;
  background-color: transparent;
  border: 1px solid #999;
  border-radius: .25rem;
  font-size: 100%;
  -webkit-appearance: none;
}
section table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
section table th {
  padding: .25em;
  border: 1px solid #999;
  font-size: 85%;
  font-weight: bold;
  text-align: left;
}
section table td {
  padding: .25em;
  font-size: 85%;
  border: 1px solid #999;
  word-break: break-all
}



nav {
  width: 100%;
  padding: 1rem;
  padding-bottom: 3rem;
  display: flex; flex-direction: row-reverse; justify-content: space-between;
}
nav button {
  cursor: pointer;
  min-height: 2.6rem;
  min-width: 2.6rem;
  border-radius: .25rem;
  font-size: 100%;
  padding: 0 1.5rem;
  -webkit-appearance: none;
}
nav button[type=submit] { background-color: #17c;        border: 1px solid #17c; color: #fff; }
nav button[type=button] { background-color: transparent; border: 1px solid #17c; color: #17c; }
nav button[type=reset]  { background-color: transparent; border: 1px solid #17c; color: #17c; }



section.postel {
  padding: .5rem;
}

@media (prefers-color-scheme: light) { section.postel { background-color: #fff; } section.postel * { color: #666; border-color: #999; } }
@media (prefers-color-scheme: dark)  { section.postel { background-color: #ccc; } section.postel * { color: #333; border-color: #666; } }
@media screen and (orientation: portrait)  { section.postel { padding-left: calc(env(safe-area-inset-left) + .5rem); padding-right: calc(env(safe-area-inset-right) + .5rem); } }
@media screen and (orientation: landscape) { section.postel { padding-left: calc(env(safe-area-inset-left) + 2rem);  padding-right: calc(env(safe-area-inset-right) + 2rem);  } }
section.postel > div {
  padding: 1rem;
  padding-bottom: 2rem;
  border-width: 2px;
  border-style: solid;
  border-radius: .5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
section.postel h1     { font-size: 130%; font-weight: bold; }
section.postel div  p { font-size: 90%; }
section.postel span p { font-size: 70%; }



section.hubble {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  min-height: 32rem;
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  background: #000 url(./assets/hubble.jpg) no-repeat 65% 50%;
  background-size: cover;
  background-color: rgba(0,0,0,.7);
  background-blend-mode: darken;
}
section.hubble * { color: #ccc; }
section.hubble > h2 { font-size: 180%; font-weight: bold; }
section.hubble > span { font-size: 90%; text-align: center; }
section.hubble > a { text-decoration: none; cursor: pointer; font-size: 110%; font-weight: bold; color: #17c; }
section.hubble > a::after { padding: 0 1rem; content: ">"; }
section.hubble > figure { height: 100%; width: 100%; pointer-events: none; }
section.hubble li {
  display: block;
  position: absolute;
  height: 0;
  width: 0;
  background-color: #ccc;
  border: 1px solid #333;
  border-radius: 50%;
  padding: 0;
  margin: 0;
}
section.hubble li:nth-child(1) { animation: hubble1 10s linear 1s infinite; }
section.hubble li:nth-child(2) { animation: hubble2 10s linear 4s infinite; }
section.hubble li:nth-child(3) { animation: hubble3 12s linear 3s infinite; }
@keyframes hubble1 { 0% { top: 0%; left: 100%; height: 0; width: 0; } 8% { height: .4rem; width: .4rem; } 9% { height: 0; width: 0; } 10% { top: 80%; left: 10%; height: 0; width: 0; } 100% { } }
@keyframes hubble2 { 0% { top: 0%; left: 100%; height: 0; width: 0; } 8% { height: .5rem; width: .5rem; } 9% { height: 0; width: 0; } 10% { top: 90%; left: 20%; height: 0; width: 0; } 100% { } }
@keyframes hubble3 { 0% { top: 0%; left: 100%; height: 0; width: 0; } 8% { height: .4rem; width: .4rem; } 9% { height: 0; width: 0; } 10% { top: 80%; left: 10%; height: 0; width: 0; } 100% { } }



section.giorgi {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  min-height: 32rem;
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  background: #eee url(./assets/giorgi.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-color: rgba(255,255,255,.9);
  background-blend-mode: lighten;
}
section.giorgi * { color: #333; }
section.giorgi > h2 { font-size: 180%; font-weight: bold; }
section.giorgi > span { font-size: 90%; text-align: center; }
section.giorgi > a { text-decoration: none; cursor: pointer; font-size: 110%; font-weight: bold; color: #17c; }
section.giorgi > a::after { padding: 0 1rem; content: ">"; }
section.giorgi > figure { pointer-events: none; margin-top: 2rem; }
section.giorgi ul {
  display: block;
  position: relative;
}
section.giorgi li {
  display: block;
  position: absolute;
  transform: rotate(0deg);
  left: 0;
  opacity: 1;
  height: 5rem;
  width: 5rem;
  border: 1px solid #999;
  border-radius: 50% 40% 55% 45% / 40% 55% 50% 45%;
  font-size: 100%;
  padding: 0;
  margin: 0;
}
section.giorgi li div {
  position: relative;
  display: block;
  height: 100%;
  width: 100%;
  word-wrap: break-word;
  border: 1px solid #999;
  border-radius: 50%;
}
section.giorgi li div span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform : translate(-50%, -50%);
}
section.giorgi li:nth-of-type(n+1) div { background-color: rgba(255,215,  0,.5); } /* gold */
section.giorgi li:nth-of-type(n+2) div { background-color: rgba(220, 20, 60,.5); } /* crimson */
section.giorgi li:nth-of-type(n+3) div { background-color: rgba(128,  0,128,.5); } /* purple */
section.giorgi li:nth-of-type(n+4) div { background-color: rgba(  0,  0,128,.5); } /* navy */
section.giorgi li:nth-of-type(n+5) div { background-color: rgba( 65,105,225,.5); } /* royalblue */
section.giorgi li:nth-of-type(n+6) div { background-color: rgba( 50,205, 50,.5); } /* limegreen */
section.giorgi li:nth-of-type(n+7) div { background-color: rgba(255,165,  0,.5); } /* orange */
section.giorgi ul { height: 12rem; width: 12rem; }
section.giorgi li { transform-origin: calc(12rem / 2) calc(12rem / 2); }
section.giorgi li:nth-of-type(n+1) { animation: giorgi1 180s linear infinite; }
section.giorgi li:nth-of-type(n+2) { animation: giorgi2 180s linear infinite; }
section.giorgi li:nth-of-type(n+3) { animation: giorgi3 180s linear infinite; }
section.giorgi li:nth-of-type(n+4) { animation: giorgi4 180s linear infinite; }
section.giorgi li:nth-of-type(n+5) { animation: giorgi5 180s linear infinite; }
section.giorgi li:nth-of-type(n+6) { animation: giorgi6 180s linear infinite; }
section.giorgi li:nth-of-type(n+7) { animation: giorgi7 180s linear infinite; }
section.giorgi li:nth-of-type(n+1) div { animation: giorgi1 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+2) div { animation: giorgi7 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+3) div { animation: giorgi6 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+4) div { animation: giorgi5 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+5) div { animation: giorgi4 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+6) div { animation: giorgi3 180s linear reverse infinite; }
section.giorgi li:nth-of-type(n+7) div { animation: giorgi2 180s linear reverse infinite; }
@keyframes giorgi1 { 0% { transform: rotate(0deg);   } 100% { transform: rotate(360deg); } }
@keyframes giorgi2 { 0% { transform: rotate(51deg);  } 100% { transform: rotate(411deg); } }
@keyframes giorgi3 { 0% { transform: rotate(102deg); } 100% { transform: rotate(462deg); } }
@keyframes giorgi4 { 0% { transform: rotate(153deg); } 100% { transform: rotate(513deg); } }
@keyframes giorgi5 { 0% { transform: rotate(204deg); } 100% { transform: rotate(564deg); } }
@keyframes giorgi6 { 0% { transform: rotate(255deg); } 100% { transform: rotate(615deg); } }
@keyframes giorgi7 { 0% { transform: rotate(306deg); } 100% { transform: rotate(666deg); } }



section.euclid {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  min-height: 32rem;
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  background: #eee url(./assets/euclid.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-color: rgba(255,255,255,.9);
  background-blend-mode: lighten;
}
/* section.euclid::before { position: absolute; content: ''; bottom: 0; width: 20px; right: 10px; border: 3px solid #ff0; border-radius: 2px; } */
/* section.euclid::after  { position: absolute; content: ''; bottom: 0; width: 16px; right: 40px; border: 3px solid #fff; border-radius: 2px; } */
section.euclid * { color: #333; }
section.euclid > h2 { font-size: 180%; font-weight: bold; }
section.euclid > span { font-size: 90%; text-align: center; }
section.euclid > a { text-decoration: none; cursor: pointer; font-size: 110%; font-weight: bold; color: #17c; }
section.euclid > a::after { padding: 0 1rem; content: ">"; }
section.euclid > figure { margin-top: 2rem; }
section.euclid ul { list-style: none; display: grid; grid-template-rows: 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
section.euclid ul li { display: grid; place-content: center; text-align: center; margin: 0; width: 100%; font-size: 90%; font-weight: bold; }
section.euclid ul li:nth-child(1)        { grid-column: 1; grid-row: 1; }
section.euclid ul li:nth-child(1)::after { content: ''; height: 2px; width: 1.2rem; background-color: #333; }
section.euclid ul li:nth-child(2)        { grid-column: 1; grid-row: 2; }
section.euclid ul li:nth-child(3)        { grid-column: 2; grid-row: 1 / span 2; padding: .5rem; }
section.euclid ul li:nth-child(4)        { grid-column: 3; grid-row: 1; }
section.euclid ul li:nth-child(4)::after { content: ''; height: 2px; width: 1.2rem; background-color: #333; }
section.euclid ul li:nth-child(5)        { grid-column: 3; grid-row: 2; }
section.euclid ul li:nth-child(6)        { grid-column: 4; grid-row: 1 / span 2; padding: .5rem; }
section.euclid ul li:nth-child(7)        { grid-column: 5; grid-row: 1; }
section.euclid ul li:nth-child(7)::after { content: ''; height: 2px; width: 1.2rem; background-color: #333; }
section.euclid ul li:nth-child(8)        { grid-column: 5; grid-row: 2; }
section.euclid ul li:nth-child(7) { animation: euclid1 5s linear 0s infinite; }
section.euclid ul li:nth-child(8) { animation: euclid1 5s linear 0s infinite; }
@keyframes euclid1 { 0% { opacity: 0; } 70% { opacity: 0; } 90% { opacity: 1; } 100% { opacity: 0; } }
/* cherry blossoms (span × 9個)
section.euclid > figure span { position: absolute; top: -10%; background: #fde; opacity: 0.7; border-radius: 0% 70%; }
section.euclid > figure span:nth-child(1) { left: 10%; width: 18px; height: 12px; animation: sakura1 10s linear infinite, sakura2 3s ease-in-out infinite alternate; animation-delay:  2s; }
section.euclid > figure span:nth-child(2) { left: 15%; width: 13px; height:  9px; animation: sakura1 15s linear infinite, sakura2 2s ease-in-out infinite alternate; animation-delay:  8s; }
section.euclid > figure span:nth-child(3) { left: 25%; width: 16px; height: 10px; animation: sakura1  9s linear infinite, sakura2 3s ease-in-out infinite alternate; animation-delay: 13s; }
section.euclid > figure span:nth-child(5) { left: 50%; width: 16px; height: 10px; animation: sakura1 10s linear infinite, sakura2 4s ease-in-out infinite alternate; animation-delay:  0s; }
section.euclid > figure span:nth-child(8) { left: 60%; width: 13px; height:  9px; animation: sakura1  7s linear infinite, sakura2 3s ease-in-out infinite alternate; animation-delay:  3s; }
section.euclid > figure span:nth-child(4) { left: 40%; width: 16px; height: 10px; animation: sakura1  8s linear infinite, sakura3 4s ease-in-out infinite alternate; animation-delay:  7s; }
section.euclid > figure span:nth-child(6) { left: 65%; width: 18px; height: 12px; animation: sakura1 11s linear infinite, sakura3 3s ease-in-out infinite alternate; animation-delay:  3s; }
section.euclid > figure span:nth-child(7) { left: 75%; width: 16px; height: 10px; animation: sakura1  7s linear infinite, sakura3 3s ease-in-out infinite alternate; animation-delay:  7s; }
section.euclid > figure span:nth-child(9) { left: 90%; width: 16px; height: 10px; animation: sakura1 10s linear infinite, sakura3 4s ease-in-out infinite alternate; animation-delay:  4s; }
@keyframes sakura1 { to { top: 110%; } }
@keyframes sakura2 { from { transform: translateX(0)    rotate(0deg);   } to { transform: translateX(80px) rotate(-45deg); } }
@keyframes sakura3 { from { transform: translateX(80px) rotate(-45deg); } to { transform: translateX(0)    rotate(0deg);   } }
*/



section.dalton {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  min-height: 32rem;
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  background: #eee url(./assets/dalton.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-color: rgba(255,255,255,.9);
  background-blend-mode: lighten;
}
section.euclid * { color: #333; }
section.dalton > h2 { font-size: 180%; font-weight: bold; }
section.dalton > span { font-size: 90%; text-align: center; }
section.dalton > a { text-decoration: none; cursor: pointer; font-size: 110%; font-weight: bold; color: #17c; }
section.dalton > a::after { padding: 0 1rem; content: ">"; }
section.dalton > figure { pointer-events: none; margin-top: 2rem; }
section.dalton ul { list-style-type: none; display: flex; flex-direction: row; align-items: stretch; gap: .25rem; justify-content: flex-start; }
section.dalton ul { scrollbar-width: none; overflow-x: scroll; -webkit-overflow-scrolling: touch; }
section.dalton ul::-webkit-scrollbar { display: none; }
section.dalton ul li { display: flex; flex-direction: column; align-items: center; }
section.dalton ul li { border-width: 2px; border-style: solid; border-radius: .25rem; }
section.dalton ul li { height: 2.6rem; width: 2.6rem; padding: .2rem; margin: 0; overflow: hidden; }
section.dalton ul li * { line-height: 120%; }
section.dalton ul li > *:nth-child(1) { font-size:  25%; }
section.dalton ul li > *:nth-child(2) { font-size: 100%; font-weight: bold; }
section.dalton ul li > *:nth-child(3) { font-size:  30%; }
section.dalton ul li:nth-child(1)   { border-color: rgba(184,184,184,.5); background-color: rgba(255,255,255,.3); }
section.dalton ul li:nth-child(2)   { border-color: rgba(217,255,255,.5); background-color: rgba(217,255,255,.3); }
section.dalton ul li:nth-child(3)   { border-color: rgba(204,128,255,.5); background-color: rgba(204,128,255,.3); }
section.dalton ul li:nth-child(4)   { border-color: rgba(194,255,  0,.5); background-color: rgba(194,255,  0,.3); }
section.dalton ul li:nth-child(5)   { border-color: rgba(255,181,181,.5); background-color: rgba(255,181,181,.3); }
section.dalton ul li:nth-child(6)   { border-color: rgba(144,144,144,.5); background-color: rgba(144,144,144,.3); }
section.dalton ul li:nth-child(7)   { border-color: rgba( 48, 80,248,.5); background-color: rgba( 48, 80,248,.3); }
section.dalton ul li:nth-child(8)   { border-color: rgba(255, 13, 13,.5); background-color: rgba(255, 13, 13,.3); }
section.dalton ul li:nth-child(9)   { border-color: rgba(144,224, 80,.5); background-color: rgba(144,224, 80,.3); }
section.dalton ul li:nth-child(10)  { border-color: rgba(179,227,245,.5); background-color: rgba(179,227,245,.3); }
section.dalton ul li:nth-child(11)  { border-color: rgba(171, 92,242,.5); background-color: rgba(171, 92,242,.3); }
section.dalton ul li:nth-child(12)  { border-color: rgba(138,255,  0,.5); background-color: rgba(138,255,  0,.3); }
section.dalton ul li:nth-child(13)  { border-color: rgba(191,166,166,.5); background-color: rgba(191,166,166,.3); }
section.dalton ul li:nth-child(14)  { border-color: rgba(240,200,160,.5); background-color: rgba(240,200,160,.3); }
section.dalton ul li:nth-child(15)  { border-color: rgba(255,128,  0,.5); background-color: rgba(255,128,  0,.3); }
section.dalton ul li:nth-child(16)  { border-color: rgba(255,255, 48,.5); background-color: rgba(255,255, 48,.3); }
section.dalton ul li:nth-child(17)  { border-color: rgba( 31,240, 31,.5); background-color: rgba( 31,240, 31,.3); }
section.dalton ul li:nth-child(18)  { border-color: rgba(128,209,227,.5); background-color: rgba(128,209,227,.3); }
section.dalton ul li:nth-child(19)  { border-color: rgba(143, 64,212,.5); background-color: rgba(143, 64,212,.3); }
section.dalton ul li:nth-child(20)  { border-color: rgba( 61,255,  0,.5); background-color: rgba( 61,255,  0,.3); }
section.dalton ul li:nth-child(21)  { border-color: rgba(230,230,230,.5); background-color: rgba(230,230,230,.3); }
section.dalton ul li:nth-child(22)  { border-color: rgba(191,194,199,.5); background-color: rgba(191,194,199,.3); }
section.dalton ul li:nth-child(23)  { border-color: rgba(166,166,171,.5); background-color: rgba(166,166,171,.3); }
section.dalton ul li:nth-child(24)  { border-color: rgba(138,153,199,.5); background-color: rgba(138,153,199,.3); }
section.dalton ul li:nth-child(25)  { border-color: rgba(156,122,199,.5); background-color: rgba(156,122,199,.3); }
section.dalton ul li:nth-child(26)  { border-color: rgba(224,102, 51,.5); background-color: rgba(224,102, 51,.3); }
section.dalton ul li:nth-child(27)  { border-color: rgba(240,144,160,.5); background-color: rgba(240,144,160,.3); }
section.dalton ul li:nth-child(28)  { border-color: rgba( 80,208, 80,.5); background-color: rgba( 80,208, 80,.3); }
section.dalton ul li:nth-child(29)  { border-color: rgba(200,128, 51,.5); background-color: rgba(200,128, 51,.3); }
section.dalton ul li:nth-child(30)  { border-color: rgba(125,128,176,.5); background-color: rgba(125,128,176,.3); }
section.dalton ul li:nth-child(31)  { border-color: rgba(194,143,143,.5); background-color: rgba(194,143,143,.3); }
section.dalton ul li:nth-child(32)  { border-color: rgba(102,143,143,.5); background-color: rgba(102,143,143,.3); }
section.dalton ul li:nth-child(33)  { border-color: rgba(189,128,227,.5); background-color: rgba(189,128,227,.3); }
section.dalton ul li:nth-child(34)  { border-color: rgba(255,161,  0,.5); background-color: rgba(255,161,  0,.3); }
section.dalton ul li:nth-child(35)  { border-color: rgba(166, 41, 41,.5); background-color: rgba(166, 41, 41,.3); }
section.dalton ul li:nth-child(36)  { border-color: rgba( 92,184,209,.5); background-color: rgba( 92,184,209,.3); }
section.dalton ul li:nth-child(37)  { border-color: rgba(112, 46,176,.5); background-color: rgba(112, 46,176,.3); }
section.dalton ul li:nth-child(38)  { border-color: rgba(  0,255,  0,.5); background-color: rgba(  0,255,  0,.3); }
section.dalton ul li:nth-child(39)  { border-color: rgba(148,255,255,.5); background-color: rgba(148,255,255,.3); }
section.dalton ul li:nth-child(40)  { border-color: rgba(148,224,224,.5); background-color: rgba(148,224,224,.3); }
section.dalton ul li:nth-child(41)  { border-color: rgba(115,194,201,.5); background-color: rgba(115,194,201,.3); }
section.dalton ul li:nth-child(42)  { border-color: rgba( 84,181,181,.5); background-color: rgba( 84,181,181,.3); }
section.dalton ul li:nth-child(43)  { border-color: rgba( 59,158,158,.5); background-color: rgba( 59,158,158,.3); }
section.dalton ul li:nth-child(44)  { border-color: rgba( 36,143,143,.5); background-color: rgba( 36,143,143,.3); }
section.dalton ul li:nth-child(45)  { border-color: rgba( 10,125,140,.5); background-color: rgba( 10,125,140,.3); }
section.dalton ul li:nth-child(46)  { border-color: rgba(  0,105,133,.5); background-color: rgba(  0,105,133,.3); }
section.dalton ul li:nth-child(47)  { border-color: rgba(192,192,192,.5); background-color: rgba(192,192,192,.3); }
section.dalton ul li:nth-child(48)  { border-color: rgba(255,217,143,.5); background-color: rgba(255,217,143,.3); }
section.dalton ul li:nth-child(49)  { border-color: rgba(166,117,115,.5); background-color: rgba(166,117,115,.3); }
section.dalton ul li:nth-child(50)  { border-color: rgba(102,128,128,.5); background-color: rgba(102,128,128,.3); }
section.dalton ul li:nth-child(51)  { border-color: rgba(158, 99,181,.5); background-color: rgba(158, 99,181,.3); }
section.dalton ul li:nth-child(52)  { border-color: rgba(212,122,  0,.5); background-color: rgba(212,122,  0,.3); }
section.dalton ul li:nth-child(53)  { border-color: rgba(148,  0,148,.5); background-color: rgba(148,  0,148,.3); }
section.dalton ul li:nth-child(54)  { border-color: rgba( 66,158,176,.5); background-color: rgba( 66,158,176,.3); }
section.dalton ul li:nth-child(55)  { border-color: rgba( 87, 23,143,.5); background-color: rgba( 87, 23,143,.3); }
section.dalton ul li:nth-child(56)  { border-color: rgba(  0,201,  0,.5); background-color: rgba(  0,201,  0,.3); }
section.dalton ul li:nth-child(57)  { border-color: rgba(112,212,255,.5); background-color: rgba(112,212,255,.3); }
section.dalton ul li:nth-child(58)  { border-color: rgba(255,255,199,.5); background-color: rgba(255,255,199,.3); }
section.dalton ul li:nth-child(59)  { border-color: rgba(217,255,199,.5); background-color: rgba(217,255,199,.3); }
section.dalton ul li:nth-child(60)  { border-color: rgba(199,255,199,.5); background-color: rgba(199,255,199,.3); }
section.dalton ul li:nth-child(61)  { border-color: rgba(163,255,199,.5); background-color: rgba(163,255,199,.3); }
section.dalton ul li:nth-child(62)  { border-color: rgba(143,255,199,.5); background-color: rgba(143,255,199,.3); }
section.dalton ul li:nth-child(63)  { border-color: rgba( 97,255,199,.5); background-color: rgba( 97,255,199,.3); }
section.dalton ul li:nth-child(64)  { border-color: rgba( 69,255,199,.5); background-color: rgba( 69,255,199,.3); }
section.dalton ul li:nth-child(65)  { border-color: rgba( 48,255,199,.5); background-color: rgba( 48,255,199,.3); }
section.dalton ul li:nth-child(66)  { border-color: rgba( 31,255,199,.5); background-color: rgba( 31,255,199,.3); }
section.dalton ul li:nth-child(67)  { border-color: rgba(  0,255,156,.5); background-color: rgba(  0,255,156,.3); }
section.dalton ul li:nth-child(68)  { border-color: rgba(  0,230,117,.5); background-color: rgba(  0,230,117,.3); }
section.dalton ul li:nth-child(69)  { border-color: rgba(  0,212, 82,.5); background-color: rgba(  0,212, 82,.3); }
section.dalton ul li:nth-child(70)  { border-color: rgba(  0,191, 56,.5); background-color: rgba(  0,191, 56,.3); }
section.dalton ul li:nth-child(71)  { border-color: rgba(  0,171, 36,.5); background-color: rgba(  0,171, 36,.3); }
section.dalton ul li:nth-child(72)  { border-color: rgba( 77,194,255,.5); background-color: rgba( 77,194,255,.3); }
section.dalton ul li:nth-child(73)  { border-color: rgba( 77,166,255,.5); background-color: rgba( 77,166,255,.3); }
section.dalton ul li:nth-child(74)  { border-color: rgba( 33,148,214,.5); background-color: rgba( 33,148,214,.3); }
section.dalton ul li:nth-child(75)  { border-color: rgba( 38,125,171,.5); background-color: rgba( 38,125,171,.3); }
section.dalton ul li:nth-child(76)  { border-color: rgba( 38,102,150,.5); background-color: rgba( 38,102,150,.3); }
section.dalton ul li:nth-child(77)  { border-color: rgba( 23, 84,135,.5); background-color: rgba( 23, 84,135,.3); }
section.dalton ul li:nth-child(78)  { border-color: rgba(208,208,224,.5); background-color: rgba(208,208,224,.3); }
section.dalton ul li:nth-child(79)  { border-color: rgba(255,209, 35,.5); background-color: rgba(255,209, 35,.3); }
section.dalton ul li:nth-child(80)  { border-color: rgba(184,184,208,.5); background-color: rgba(184,184,208,.3); }
section.dalton ul li:nth-child(81)  { border-color: rgba(166, 84, 77,.5); background-color: rgba(166, 84, 77,.3); }
section.dalton ul li:nth-child(82)  { border-color: rgba( 87, 89, 97,.5); background-color: rgba( 87, 89, 97,.3); }
section.dalton ul li:nth-child(83)  { border-color: rgba(158, 79,181,.5); background-color: rgba(158, 79,181,.3); }
section.dalton ul li:nth-child(84)  { border-color: rgba(171, 92,  0,.5); background-color: rgba(171, 92,  0,.3); }
section.dalton ul li:nth-child(85)  { border-color: rgba(117, 79, 69,.5); background-color: rgba(117, 79, 69,.3); }
section.dalton ul li:nth-child(86)  { border-color: rgba( 66,130,150,.5); background-color: rgba( 66,130,150,.3); }
section.dalton ul li:nth-child(87)  { border-color: rgba( 66,  0,102,.5); background-color: rgba( 66,  0,102,.3); }
section.dalton ul li:nth-child(88)  { border-color: rgba(  0,125,  0,.5); background-color: rgba(  0,125,  0,.3); }
section.dalton ul li:nth-child(89)  { border-color: rgba(112,171,250,.5); background-color: rgba(112,171,250,.3); }
section.dalton ul li:nth-child(90)  { border-color: rgba(  0,186,255,.5); background-color: rgba(  0,186,255,.3); }
section.dalton ul li:nth-child(91)  { border-color: rgba(  0,161,255,.5); background-color: rgba(  0,161,255,.3); }
section.dalton ul li:nth-child(92)  { border-color: rgba(  0,143,255,.5); background-color: rgba(  0,143,255,.3); }
section.dalton ul li:nth-child(93)  { border-color: rgba(  0,128,255,.5); background-color: rgba(  0,128,255,.3); }
section.dalton ul li:nth-child(94)  { border-color: rgba(  0,107,255,.5); background-color: rgba(  0,107,255,.3); }
section.dalton ul li:nth-child(95)  { border-color: rgba( 84, 92,242,.5); background-color: rgba( 84, 92,242,.3); }
section.dalton ul li:nth-child(96)  { border-color: rgba(120, 92,227,.5); background-color: rgba(120, 92,227,.3); }
section.dalton ul li:nth-child(97)  { border-color: rgba(138, 79,227,.5); background-color: rgba(138, 79,227,.3); }
section.dalton ul li:nth-child(98)  { border-color: rgba(161, 54,212,.5); background-color: rgba(161, 54,212,.3); }
section.dalton ul li:nth-child(99)  { border-color: rgba(179, 31,212,.5); background-color: rgba(179, 31,212,.3); }
section.dalton ul li:nth-child(100) { border-color: rgba(179, 31,186,.5); background-color: rgba(179, 31,186,.3); }
section.dalton ul li:nth-child(101) { border-color: rgba(179, 13,166,.5); background-color: rgba(179, 13,166,.3); }
section.dalton ul li:nth-child(102) { border-color: rgba(189, 13,135,.5); background-color: rgba(189, 13,135,.3); }
section.dalton ul li:nth-child(103) { border-color: rgba(199,  0,102,.5); background-color: rgba(199,  0,102,.3); }
section.dalton ul li:nth-child(104) { border-color: rgba(204,  0, 89,.5); background-color: rgba(204,  0, 89,.3); }
section.dalton ul li:nth-child(105) { border-color: rgba(209,  0, 79,.5); background-color: rgba(209,  0, 79,.3); }
section.dalton ul li:nth-child(106) { border-color: rgba(217,  0, 69,.5); background-color: rgba(217,  0, 69,.3); }
section.dalton ul li:nth-child(107) { border-color: rgba(224,  0, 56,.5); background-color: rgba(224,  0, 56,.3); }
section.dalton ul li:nth-child(108) { border-color: rgba(230,  0, 46,.5); background-color: rgba(230,  0, 46,.3); }
section.dalton ul li:nth-child(109) { border-color: rgba(235,  0, 38,.5); background-color: rgba(235,  0, 38,.3); }
section.dalton ul li:nth-child(110) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(111) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(112) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(113) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(114) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(115) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(116) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(117) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(118) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul li:nth-child(119) { border-color: rgba(184,184,184,.5); background-color: rgba(184,184,184,.3); }
section.dalton ul { animation: dalton1 900s infinite linear .1s both; }
@keyframes dalton1 { from { transform: translateX(calc(50% - 50vw)); } to { transform: translateX(calc(-50% + 50vw)); } }



section.turing {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  min-height: 32rem;
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  background: #000 url(./assets/turing.jpg) no-repeat 50% 50%;
  background-size: cover;
  background-color: rgba(0,0,0,.9);
  background-blend-mode: darken;
}
section.turing * { color: #ccc; }
section.turing > h2 { font-size: 180%; font-weight: bold; }
section.turing > span { font-size: 90%; text-align: center; }
section.turing > a { text-decoration: none; cursor: pointer; font-size: 110%; font-weight: bold; color: #17c; }
section.turing > a::after { padding: 0 1rem; content: ">"; }
section.turing > figure { pointer-events: none; }



dialog.alert { }

dialog.debug { }
dialog.debug span { display: flex; flex-direction: column; gap: .5rem; }
dialog.debug table    { font-size: 85%; width: 100%; border-spacing: 0; border-collapse: collapse; table-layout: fixed; word-break: break-all; }
dialog.debug table th { padding: .5em; min-width: 4rem; border-width: 1px; border-style: solid; width: auto; text-align: left; background-color: rgba(128,128,128,.1); }
dialog.debug table td { padding: .5em; min-width: 4rem; border-width: 1px; border-style: solid; width: auto; text-align: left; }
