:root {
    --store-button: #9F8E84;
    --add-vowels-game-width: 400px;
    /*--cell-border: #d1cdc0;*/
}

.add-vowels-game{
	display: flex;
	flex-direction: column;
	row-gap: 1em;
	width: 100%;
	margin: 0 0 3em 0;
}

.add-vowels-game-area{
	max-width: 480px;
	margin: 2rem 0 0 0;
}

.add-vowels-game-title{
	font-family: var( --font-sans );
	font-size: 1.8rem;
	text-align: center;
	margin: 0;
	font-weight: 400;
}

.add-vowels-common-target{
	font-family: var( --body-font );
	font-size: 1.2rem;
	text-align: center;
	margin: 0 0 3rem 0;
	font-weight: 400;
	font-style: italic;
}

.add-vowels-common-target SPAN{
	font-weight: 600;
	color: var( --link-dark );
}

.add-vowels-game-wrapper{

	display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
}

.add-vowels-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px;
    user-select: none;
}

.add-vowels-cell-row {
	display: flex;
	column-gap: 0.5em;
}

.add-vowels-cell {
    text-transform: uppercase;
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    color: var( --text-dark );
}

.add-vowels-cell .add-vowels-letter {
    /*transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    opacity: 1;*/
}

.add-vowels-cell.refreshing .add-vowels-letter {
    /*opacity: 0;
    transform: scale(0.8);*/
}

.add-vowels-cell-content {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center;
    pointer-events: none;
}

.add-vowels-letter {
    font-family: var( --font-display );
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1;
}

/* The Scoreboard */

.add-vowels-game-status{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 30px auto;
}

.add-vowels-game-current-word{
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-grow: 1;
    margin: 30px 0px;
    width: 100%;
}

.add-vowels-word-preview {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-family: var( --font-sans );
    column-gap: 20px;
    margin: 0 0 0 0;
    width: 100%;
}

.add-vowels-current-word-text {
    font-size: 1.1rem;
    color: var( --text-dark );
    font-weight: 600;
    text-transform: capitalize;
    border: none;
    width: 100%;
    overflow: hidden;
  	text-overflow: ellipsis;
  	padding: 0.5em 1em;
    flex-grow: 1;
    border-radius: 3px;
    background-color: var( --bg-dialog );
    border: 2px solid var( --light-muted-putty );
}

.add-vowels-current-word-text.valid {
    color: var( --link-dark );
}

.add-vowels-current-word-text::placeholder {
    font-size: 1rem;
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    color: var( --text-muted );
    opacity: 0.8;
}

.add-vowels-game-stats{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 1em 0 1em 0;
	padding: 0;
	width: 100%;
	row-gap: 0;
}

.add-vowels-game-stat{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: baseline;
	column-gap: 20px;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.6em;
}

.add-vowels-game-stat .out-of{
	font-style: italic;
	font-weight: 400;
	font-size: 0.95em;
}

.add-vowels-game-stat-label{
	font-style: italic;
}

.add-vowels-game-stat-number {
    font-weight: 800;
    opacity: 0.8;
}

/* The Add Button */
.add-vowels-store-word-button {
    display: inline-block;
    padding: 12px;
    margin: 0px auto;
    font-family: var( --button-font );
    font-weight: 800;
    text-transform: uppercase;
    background-color: var( --accent-color ); /* Disabled state */
    color: var( --text-light );
    border: none;
    border-radius: 4px;
    cursor: not-allowed;
    transition: all 0.3s ease;
    opacity: 0.4;
}

/* The Store Button active state */
.add-vowels-store-word-button.btn-active {
    background-color: var( --link-dark ) !important; /* Sienna */
    color: var( --text-light ) !important;
    border-color: var( --muted-putty );
    transform: translateY(-2px);
    cursor: pointer;
    opacity: 1;
}

.add-vowels-store-word-button.btn-active:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #5d2906;
}

.add-vowels-word-jar{
    width: 100%;  
}

.add-vowels-word-jar-container {
    padding: 0;
}

.add-vowels-word-jar-container H4{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    color: var( --text-dark );
}

.add-vowels-found-words-count{
    font-size: 1.2rem;
    font-weight: 600;
    font-style: normal;
    color: var( --link-dark );
}

.add-vowels-word-jar-list {
    display: flex;
    flex-flow: row wrap;
    max-height: 300px;
    overflow-y: auto;
    column-gap: 0.5em;
    font-weight: 400;
    margin: 0px 0px 2rem 0px;
    padding: 0;
    list-style: none;
    font-style: italic;
    font-size: 1rem;
}

.add-vowels-jar-item {
    display: inline-block;
    animation: slideIn 0.4s ease-out forwards;
    text-transform: capitalize;
    font-size: 1.2rem;
}

.add-vowels-jar-item::after {
    content: '.';
}

/* Animation for the 'Cinema' feel */
@keyframes slideIn {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes cellPop {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(0.5); opacity: 0; }
    51% { transform: scale(1.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.cell-refreshing .cell-content {
    animation: cellPop 0.5s ease-in-out;
}

.add-vowels-game-controls{
	display: flex;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	justify-content: space-between;
}

.add-vowels-game-new-wrapper{
	display: flex;
	flex-direction: row;
	column-gap: 20px;
	padding: 0;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0;
}

.add-vowels-game-controls .add-vowels-game-button{
	all: unset;
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 0.5em;
	color: var( --link-dark );
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
	font-weight: 800;
	cursor: pointer;
	border: none;
	justify-self: right;
}

.add-vowels-game-controls .add-vowels-game-button::after{
	display: block;
	background-color: var( --link-dark );
	width: 24px;
	height: 24px;
	content: '';
	background-image: url( '/icons/new-light.svg' );
	Background-position: center;
	background-repeat: no-repeat;
	background-size: 18px;
	border-radius: 6px;
}

.add-vowels-game-controls .add-vowels-game-button.add-vowels-clear-game-button::after{
	background-image: url( '/icons/replay-light.svg' );
}

.add-vowels-solution-container{
	width: 100%;
	margin-bottom: 3rem;
}

.add-vowels-solution-container DETAILS SUMMARY{
	display: flex;
	flex-flow: row;
	justify-content: flex-start;
	align-items: center;
	list-style: none;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.85rem;
	cursor: pointer;
	padding: 0.75em 0 0.75em 0;
	font-weight: 650;
}

.add-vowels-solution-container DETAILS SUMMARY::after{
	display: block;
	background-image: url( '/icons/arrow-down-dark.svg' );
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	content: '';
	width: 18px;
	height: 18px;
	transition: transform 0.3s ease;
}

.add-vowels-solution-container DETAILS[open] SUMMARY::after{
	transform: rotate( 180deg );
}

.add-vowels-solution-container DETAILS .content{
	font-size: 1.1rem;
	text-align: left;
	font-weight: 400;
	margin: 0;
	padding: 0;
}

.add-vowels-solution-words {
	display: flex;
	flex-flow: row wrap;
	column-gap: 10px;
	margin: 0;
	padding: 0;
    margin-right: 0.5em;
}
.add-vowels-solution-word{
	text-transform: capitalize; 
	font-size: 1rem;
	font-style: italic;
    transition: all 0.3s ease;
    display: inline-block;
    font-weight: 500;
}
.add-vowels-rare-words .add-vowels-solution-word{
    font-weight: 300;
}
.add-vowels-solution-word::after{
	content: '.';
}
.add-vowels-solution-word.found{

    text-decoration: line-through;
    filter: grayscale(1);
    transform: scale(0.95); /* Slightly shrink it */
    opacity: 0.7;
}

/* The Shake Animation */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
}

.shake {
    animation: shake 0.3s ease-in-out;
    color: var( --event-color ) !important;
}

/* Container for the gauge */
.add-vowels-progress-container {
    margin: 20px 0;
    width: 100%;
}

/* Resetting the Progress Element */
.add-vowels-game-area progress {
    width: 100%;
    height: 12px;
    appearance: none; /* Removes default styling */
    border: 1px solid var( --muted-putty );
    background-color: var( --bg-dialog );
}

/* Styling the "Bar" itself (Webkit for Chrome/Safari, Moz for Firefox) */
.add-vowels-game-area progress::-webkit-progress-bar { background-color: var( --bg-dialog ); }
.add-vowels-game-area progress::-webkit-progress-value { background-color: var( --muted-putty ); transition: width 0.4s ease; }
.add-vowels-game-area progress::-moz-progress-bar { background-color: #A0522D; }

.add-vowels-progress-stats {
    display: flex;
    justify-content: space-between;
    font-size: 1.05rem;
    color: var( --text-dark );
    margin-top: 5px;
    font-variant: small-caps;
    font-weight: 600;
    opacity: 0.7;
}

#add-vowels-progress-words-to-goal {
    font-size: 0.85rem;
}

.add-vowels-warning{
	display: block;
	width: 100%;
	max-width: 360px;
	margin: 2rem auto 2em 0;
}

.add-vowels-warning.active{
	display: block;
}

.add-vowels-warning P {
	font-size: 0.9rem;
	font-weight: 650;
	font-style: italic;
	line-height: 1.4em;
}

.add-vowels-dialog .dialog-content{
	align-self: center;
	text-align: center;
}



