/*
 * ============================================================
 *  TNT | Hot Seat Spinner — S.P.A.R.K. Edition
 *  File:    classroomDialStyles.css
 *  Coder:   KLP + GitHub Copilot
 *  Created: 2026-07-08
 *
 *  Light & bright classroom palette — energetic, upbeat feel.
 *  Intentionally departs from TNT's dark theme because classroom
 *  projection tools benefit from high contrast on white.
 *  Requires CSS custom properties from tnt-base-styles.css.
 * ============================================================
 */

/* ── Local palette additions ── */
:root {
    --spin-blue:       #1976D2;
    --spin-blue-light: #42A5F5;
    --spin-blue-bg:    #E3F2FD;
    --spin-green:      #388E3C;
    --spin-amber:      #F57F17;
    --spin-bg:         #f0f7ff;
}

/* ── Body: light, airy base ── */
body {
    background: var(--spin-bg);
}

/* ─────────────────────────────────────────────────────────
   HERO — bright overlay on the spinner background image
   Overrides the white-text defaults in tnt-base-styles.css
   because the semi-transparent overlay is light, not dark.
───────────────────────────────────────────────────────── */
#hero {
    min-height: 30vh;
    background-image:
        linear-gradient(135deg,
            rgba(255,255,255,0.60) 0%,
            rgba(197,225,255,0.68) 55%,
            rgba(200,255,210,0.55) 100%),
        url('../images/cpSpinner.jpeg');
    background-size: cover;
    background-position: center 40%;
    padding: 3rem 1rem 2.5rem;
    border-bottom: 4px solid var(--tnt-red);
}

/* Dark text on the light hero */
#hero .hero-eyebrow {
    color: var(--tnt-red-dark);
    text-shadow: none;
}

#hero .hero-title {
    color: var(--tnt-dark);
    text-shadow: 0 2px 8px rgba(255,255,255,0.9), 0 1px 3px rgba(0,0,0,0.10);
    font-size: clamp(2.2rem, 5.5vw, 3.4rem);
    margin-bottom: 0.5rem;
}

#hero .hero-subtitle {
    color: rgba(10, 14, 26, 0.80);
    font-weight: 400;
    font-size: clamp(0.9rem, 2vw, 1.05rem);
}

.hero-loading {
    color: var(--tnt-dark);
    font-style: italic;
    letter-spacing: 2px;
    font-size: 0.88rem;
    opacity: 0.7;
}

/* ─────────────────────────────────────────────────────────
   ABOUT DETAILS — collapsible section with chatlog link
───────────────────────────────────────────────────────── */
#appSection details summary {
    color: var(--spin-blue);
    font-style: italic;
    font-weight: 600;
    cursor: pointer;
    padding: 0.4rem 0;
    list-style: none;
}

#appSection details summary::before {
    content: "\25B6\00a0";
    font-style: normal;
    font-size: 0.75em;
}

#appSection details[open] summary::before {
    content: "\25BC\00a0";
}

#appSection details .about-body {
    margin-top: 0.5rem;
    padding-left: 0.75rem;
    border-left: 3px solid var(--spin-blue);
    color: #444;
    font-size: 0.9rem;
    line-height: 1.65;
}

/* ── App Section ── */
#appSection {
    padding: 1.8rem 0 4rem;
    background: var(--spin-bg);
}

/* ─────────────────────────────────────────────────────────
   INTRO BAR — dynamic status text injected by sketch
───────────────────────────────────────────────────────── */
.intro-bar {
    background: #fff;
    border-left: 5px solid var(--spin-blue);
    border-radius: 0 10px 10px 0;
    padding: 0.85rem 1.2rem;
    box-shadow: 0 2px 10px rgba(25,118,210,0.07);
    font-size: 0.9rem;
}

.intro-bar h4 {
    font-family: var(--boogaloo);
    color: var(--spin-blue);
    font-size: 1.3rem;
    margin-bottom: 0.3rem;
}

.intro-bar p {
    color: #444;
    margin-bottom: 0.3rem;
}

.intro-bar p:last-child { margin-bottom: 0; }

/* ── Hero wheel icon (replaces generic Font Awesome icon) ── */
.hero-wheel-icon {
    height: 2.8rem;
    width: auto;
    vertical-align: top;
    margin-right: 0.4rem;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.12));
}

/* ── Canvas column ── */
.spinner-canvas-col {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

/* Canvas gets a subtle blue glow */
.spinner-canvas-col canvas {
    border: 2px solid rgba(25,118,210,0.25) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 32px rgba(25,118,210,0.12) !important;
    background-color: #f8f9fa !important;
}

/* ─────────────────────────────────────────────────────────
   CONTROLS CARD (injected by p5 sketch into #r1c2Div)
   The sketch creates a div.p-3.rounded.shadow-sm inside r1c2Div.
───────────────────────────────────────────────────────── */
#r1c2Div > div {
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 22px rgba(0,0,0,0.07) !important;
    border: 1px solid rgba(25,118,210,0.12) !important;
}

/* Class name heading in controls */
#currentClassName {
    font-family: var(--boogaloo);
    color: var(--spin-blue);
}

/* ── Spin button — energetic red with lift effect ── */
.btn-danger.btn-lg {
    background: var(--tnt-red) !important;
    border-color: var(--tnt-red-dark) !important;
    font-family: var(--boogaloo);
    font-size: 1.4rem;
    letter-spacing: 2px;
    border-radius: 50px;
    box-shadow: 0 4px 16px rgba(216,24,39,0.28);
    transition: transform 0.15s, box-shadow 0.2s;
}

.btn-danger.btn-lg:hover:not(:disabled) {
    background: var(--tnt-red-dark) !important;
    transform: translateY(-3px);
    box-shadow: 0 7px 22px rgba(216,24,39,0.38);
}

.btn-danger.btn-lg:disabled {
    opacity: 0.45;
}

/* ── Tabs ── */
.nav-tabs .nav-link {
    color: #555;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: 8px 8px 0 0;
}

.nav-tabs .nav-link.active {
    color: var(--spin-blue);
    border-top: 2px solid var(--spin-blue);
    font-weight: 700;
}

/* ── Result display ── */
#result .display-6 {
    font-family: var(--boogaloo);
    font-size: 2.2rem;
    color: var(--tnt-red);
}

/* ── Bootstrap list group tweaks ── */
.list-group-item {
    font-size: 0.88rem;
}

/* ── Class selector dropdown ── */
#classSelect {
    font-size: 0.88rem;
    border-color: rgba(25,118,210,0.3);
}

#classSelect:focus {
    border-color: var(--spin-blue);
    box-shadow: 0 0 0 0.2rem rgba(25,118,210,0.18);
}
