:root {
	--main: #0D0425;
	--main2: #514e59;
	--accent1: #4bb1ff;
	--accent2: #0090ff;
	--accent3: #ff4b63;
	--bg: #f7fbfe;
	--textarea: #e7eff6;
}

*,::before,::after{box-sizing:border-box}*:focus{outline:none}ul[class],ol[class]{padding:0;list-style:none}dl{height:100%;width:100%;position:relative}.relative{height: 100%;width: 100%;position: relative}body,h1,h2,h3,h4,p,ul[class],ol[class],li,figure,figcaption,blockquote,dl,dd{margin:0}body{min-height:100vh;scroll-behavior:smooth;text-rendering:optimizeSpeed;line-height:1.5}a{text-decoration:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%;display:block}input,button,textarea,select{border:0;outline:0;font:inherit,-webkit-appearance: none;-webkit-border-radius: 0;-moz-appearance: none;-moz-border-radius: 0}input,button{-webkit-appearance: none}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
a, a:hover, a:active, a:visited {text-decoration: none; color: var(--accent1)}
a:hover, a:active {color: var(--accent2)}2
a {transition: all .2s ease-in-out;}

::selection {background: rgba(0,0,0, .90);color: rgba(255,255,255, 1);}
::-moz-selection {background: rgba(0,0,0, .90);color: #fff;}
input:-webkit-autofill,input:-webkit-autofill:hover, input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border: 0;-webkit-text-fill-color: transparent;-webkit-box-shadow: none;transition: background-color 5000s ease-in-out 0s;font-weight: 900;}

@font-face{font-family:system-ui;font-style:normal;font-weight:300;src:local(.SFNS-Light),local(.SFNSText-Light),local(.HelveticaNeueDeskInterface-Light),local(.LucidaGrandeUI),local("Segoe UI Light"),local("Ubuntu Light"),local(Roboto-Light),local(DroidSans),local(Tahoma)}@font-face{font-family:system-ui;font-style:italic;font-weight:300;src:local(.SFNS-LightItalic),local(.SFNSText-LightItalic),local(.HelveticaNeueDeskInterface-Italic),local(.LucidaGrandeUI),local("Segoe UI Light Italic"),local("Ubuntu Light Italic"),local(Roboto-LightItalic),local(DroidSans),local(Tahoma)}@font-face{font-family:system-ui;font-style:normal;font-weight:400;src:local(.SFNS-Regular),local(.SFNSText-Regular),local(.HelveticaNeueDeskInterface-Regular),local(.LucidaGrandeUI),local("Segoe UI"),local(Ubuntu),local(Roboto-Regular),local(DroidSans),local(Tahoma)}@font-face{font-family:system-ui;font-style:italic;font-weight:400;src:local(.SFNS-Italic),local(.SFNSText-Italic),local(.HelveticaNeueDeskInterface-Italic),local(.LucidaGrandeUI),local("Segoe UI Italic"),local("Ubuntu Italic"),local(Roboto-Italic),local(DroidSans),local(Tahoma)}@font-face{font-family:system-ui;font-style:normal;font-weight:500;src:local(.SFNS-Medium),local(.SFNSText-Medium),local(.HelveticaNeueDeskInterface-MediumP4),local(.LucidaGrandeUI),local("Segoe UI Semibold"),local("Ubuntu Medium"),local(Roboto-Medium),local(DroidSans-Bold),local("Tahoma Bold")}@font-face{font-family:system-ui;font-style:italic;font-weight:500;src:local(.SFNS-MediumItalic),local(.SFNSText-MediumItalic),local(.HelveticaNeueDeskInterface-MediumItalicP4),local(.LucidaGrandeUI),local("Segoe UI Semibold Italic"),local("Ubuntu Medium Italic"),local(Roboto-MediumItalic),local(DroidSans-Bold),local("Tahoma Bold")}@font-face{font-family:system-ui;font-style:normal;font-weight:700;src:local(.SFNS-Bold),local(.SFNSText-Bold),local(.HelveticaNeueDeskInterface-Bold),local(.LucidaGrandeUI),local("Segoe UI Bold"),local("Ubuntu Bold"),local(Roboto-Bold),local(DroidSans-Bold),local("Tahoma Bold")}@font-face{font-family:system-ui;font-style:italic;font-weight:700;src:local(.SFNS-BoldItalic),local(.SFNSText-BoldItalic),local(.HelveticaNeueDeskInterface-BoldItalic),local(.LucidaGrandeUI),local("Segoe UI Bold Italic"),local("Ubuntu Bold Italic"),local(Roboto-BoldItalic),local(DroidSans-Bold),local("Tahoma Bold")}

input, button {
	-webkit-appearance: auto;
}
select {
	appearance: none;
	background-color: transparent;
	border: none;
	padding: .75em 1.5em .75em .75em;
	margin: 0;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
	cursor: inherit;
	line-height: inherit;
	outline: none;
}
input[type="checkbox"] {
  accent-color: var(--accent1);
}
* {
	overflow: -moz-scrollbars-none;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
*::-webkit-scrollbar {
	display: none;
}



body {
	font: 300 16px system-ui;
	color: var(--main);
	background: var(--bg);
}

.part_1 {
	padding: 10px 20px;
}
.part_2 {
	padding: 0 20px 30px;
	width: 100%;
	position: relative;
}
.part_2_title {
	height: 20px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-bottom: 10px;
	text-transform: uppercase;
	font-size: .6rem;
}
.deck_header {
	height: 20px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	margin-bottom: 10px;
	text-transform: uppercase;
	font-size: .6rem;
}
#new_card {
	aspect-ratio: 5/6;
	width: 100%;
	box-shadow: 0 5px 12px rgba(0,0,0,.2);
	padding: 30px;
	border-radius: 30px;
	position: relative;
}
#new_card textarea {
	width:  100%;
	height: 100%;
	resize: none;
	background: var(--textarea);
	border-radius: 10px;
	display: block;
	padding: 20px;
	font-size: 1rem;
}
#new_card .form_title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-transform: uppercase;
	font-size: .65rem;
}
#new_card button {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 30px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: transparent;
	text-transform: uppercase;
	font-size: .65rem;
	font-weight: bold;
	color: var(--accent1);
	cursor: pointer;
	transition: all .2s ease-in-out;
}
#new_card button:hover {
	color: var(--accent2);
}
#cards {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px;
	width: 100%;
}
.card {
  perspective: 1000px;
  aspect-ratio: 5/6;
  width: 100%;
  border-radius: 12%;
}

.card > div {
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
	border-radius: 12%;
  transition: transform 0.3s;
}

.card {
  position: relative;
}

._front {
  background: #eee;
  transform: rotateY(180deg); /* Start flipped (face down) */
}
/* Face down by default */
._front {
  transform: rotateY(180deg);
  background: #eee;
}
._back {
	background: #333;
	color: white;
	display: flex;
	flex-flow: column;
	align-items: start;
	justify-content: start;
	text-align: center;
	font-size: .6rem;
	border: 10px solid #fff;
	box-shadow: 0 4px 12px rgba(0,0,0,.2);
	padding: 10px;
	gap: 10px;
}
._back .word_count {
	text-transform: uppercase;
}
._back .nutshell {
	text-align: left;
}

/* Peek on hover only if not fully flipped */
.card:not(.focus):hover ._front {
  transform: rotateY(147deg); /* = 180 - 33 */
}
.card:not(.focus):hover ._back {
  transform: rotateY(-33deg);
}

/* Full flip when clicked */
.card.focus ._back {
  transform: rotateY(-180deg);
}
.card.focus {
	position: fixed;
	left: 20px;
	top:  20px;
	width:  calc(100% - 40px);	
	box-shadow: 0 5px 12px rgba(0,0,0,.2);
}
.card.focus ._front {
  transform: rotateY(0deg);
  background: #fff;
  padding: 20px;
  border-radius: 30px;
}
.card.focus ._front ._content {
	background: var(--bg);
	width:  100%;
	height: 100%;
	position: relative;
	border-radius: 10px;
}
body.focus_mode .part_1,
body.focus_mode .part_2 .part_2_title,
body.focus_mode .part_2 .card:not(.focus) {
	pointer-events: none;
	opacity: .1;
}
.card.focus ._front textarea {
	background: var(--textarea);
	display: block;
	resize: none;
	border-radius: 10px;
	width: 100%;
	height: calc(100vw - 100px);
	padding: 20px;
	margin-bottom: 20px;
	font-size: 1rem;
}