/*
   Hands-on Project 5-1
   Sung Kim | 6-21-26 | IST-239-W01
   Program: Algebra I Practice Quiz

   Purpose:
   This stylesheet provides all visual styling for the Algebra I practice quiz page,
   including the page layout, header, instructions panel, quiz table, countdown clock,
   Start Quiz button, overlay visibility states, and wrong-answer highlighting.

   Filename: styles.css
   Related: project05-01.html, project05-01.js
*/

/* Apply a natural box layout model to all elements so padding and borders
   are included in the element's total width and height */
* {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

/* CSS reset: strips default margin, padding, border, and font inheritance
   from all standard HTML elements to ensure consistent cross-browser rendering */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
}

/* Force HTML5 semantic elements to render as block-level for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
   display: block;
}

/* Base body styles: fixed width centered on the page with a white background */
body {
   line-height: 1;
   width: 960px;
   background: white;
   margin: 0 auto;
   font-family: Verdana, Geneva, sans-serif; 
}

/* Remove default bullet points and numbering from list elements */
ol, ul {
   list-style: none;
}

/* Page header: blue background with large white centered text */
header {
   background: #5472B2;
   width: 100%;
   color: #FFFFFF;
   font-size: 48px;
   text-align: center;
   line-height: 1.5em;
}

/* Main content article: fixed dimensions with a yellow background */
article {
   width: 960px;
   height: 560px;
   text-align: left;
   background: #FFDB70;
   position: relative;
}

/*-------------------- Project Styles ------------------*/

/* Quiz title heading: bold, centered, with vertical padding */
article h2 {
   font-weight: bold;
   font-size: 24px;
   padding: 20px 0;
   text-align: center;
}

/* Outer container for the two-column layout; uses a CSS custom property
   for a shared height value referenced by child panels */
div#container {
   --main-height: 440px;
   height: var(--main-height);
   position: relative;
}

/* Left panel: fixed width absolutely positioned on the left side */
div#instructions {
   width: 300px;
   height: var(--main-height);
   position: absolute;
   top: 0;
   left: 0;
}

/* Instruction paragraph */
div#instructions p {
   line-height: 2;
   padding: 15px;
   font-size: 1.2em;
}

/* Start Quiz button: styled as a rounded teal pill with white text */
div#instructions input#startquiz {
   display: block;
   margin: 10px auto;
   font-size: 1.8em;
   width: 180px;
   text-align: center;
   border-radius: 20px;
   background-color: #1BA8BF;
   color: ivory;
   cursor: pointer;
   user-select: none;
}

/* Countdown clock display: large dark square showing remaining seconds */
div#instructions input#quizclock {
   display: block;
   margin: 30px auto;
   width: 100px;
   height: 100px;
   text-align: center;
   font-size: 60px;
   color: white;
   background-color: rgb(40, 40, 40);
   user-select: none;
}

/* Right quiz panel: takes up the remaining width to the right of the instructions panel */
div#quiz {
   width: 660px;
   height: var(--main-height);
   position: absolute;
   top: 0;
   left: 300px;
}

/* Quiz table: centered within the quiz panel with a fixed width */
div#quiz table {
   width: 500px;
   margin: 0 auto;
}

/* Table cells */
div#quiz table td {
   line-height: 2.5;
   font-size: 1.2em;
}

/* Italic variable styling: uses a serif font at a larger size to match math notation */
div#quiz em {
   font-style: italic;
   font-family: "Times New Roman", serif;
   font-size: 1.4em;
}

/* Answer input fields: fixed width and centered text */
div#quiz input {
   font-size: 1.2em;
   width: 90px;
   text-align: center;
}

/* Wrong answer style: red background with white text applied by JavaScript on quiz end */
div#quiz input.wronganswer {
   color: white;
   background-color: red;
}

/* Overlay div: covers the quiz panel and is positioned directly over it */
div#overlay {
   width: 660px;
   height: var(--main-height);
   position: absolute;
   top: 0;
   left: 300px;
   z-index: 1
}

/* hidequiz class: makes the overlay visible to block the quiz */
div#overlay.hidequiz {
   display: block;
   background-color: #FFDB70;
}

/* showquiz class: hides the overlay so the quiz questions become accessible */
div#overlay.showquiz {
   display: none;
   background-color: transparent;
}