/*
 * wSoldierWakeStyles.css
 * TNT | Winter Soldier Wake — page-specific styles
 * 2026-07-21
 *
 * Paths in url() are relative to this file's location:
 *   WSoldierWakeSPARK2026-07-21/styles/
 * so ../images/ resolves to WSoldierWakeSPARK2026-07-21/images/
 *
 * Covers both wakeSoldierIndex.html and activateSoldier.html.
 * Same steel-blue palette as activateNovicesStyles.css (sister app).
 */

/* ── Design tokens ──────────────────────────────────────────── */
:root {
	--ws-steel:        #4a9abb;
	--ws-steel-light:  #7ec8e3;
	--ws-ice:          #c2e8f5;
	--ws-dark:         #060d15;
	--ws-mid:          #0c1a26;
	--ws-glow:         rgba(74, 154, 187, 0.55);
	--ws-border:       rgba(74, 154, 187, 0.28);
}

/* ── Body — Memory Suppressing background ───────────────────── */
body {
	background:
		radial-gradient(circle at 14% 18%, rgba(74,154,187,0.09), transparent 36%),
		radial-gradient(circle at 84% 14%, rgba(124,196,224,0.06), transparent 32%),
		linear-gradient(180deg, rgba(6,13,21,0.68) 0%, rgba(10,22,34,0.73) 100%),
		url('../images/Memory_Suppressing_Machine_CW_1.webp') center / cover fixed;
	color: rgba(194,232,245,0.9);
}

/* Override base hero-eyebrow color for this palette */
.hero-eyebrow {
	color: var(--ws-ice);
}

/* ── Sub-nav log bar ─────────────────────────────────────────── */
.ws-log-bar {
	background: rgba(6,13,21,0.72);
	border-bottom: 1px solid var(--ws-border);
	padding: 0.30rem 1.25rem;
}

.ws-log-bar a {
	color: var(--ws-steel-light);
	font-size: 0.80rem;
	font-weight: 600;
	opacity: 0.78;
	transition: opacity 0.2s, color 0.2s;
}

.ws-log-bar a:hover {
	color: var(--ws-ice);
	opacity: 1;
	text-decoration: underline;
}

/* ── Hero — buckyActivation.jpg ──────────────────────────────── */
#wsHero {
	background:
		linear-gradient(155deg, rgba(4,12,20,0.60), rgba(8,24,40,0.50)),
		url('../images/buckyActivation.jpg') center 30% / cover no-repeat;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	min-height: 230px;
	display: flex;
	align-items: center;
}

#wsHero .hero-title {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	margin-bottom: 0.5rem;
	color: #fff;
	letter-spacing: 1px;
	text-shadow: 0 0 22px rgba(74,154,187,0.65), 0 2px 14px rgba(0,0,0,0.8);
}

#wsHero .hero-subtitle {
	font-size: clamp(0.95rem, 2vw, 1.12rem);
	color: rgba(194,232,245,0.75);
}

/* Context link below hero subtitle */
.ws-hero-context {
	font-size: 0.79rem;
	margin-top: 0.45rem;
	margin-bottom: 0;
}

.ws-hero-context a {
	color: rgba(194,232,245,0.65);
	text-decoration: none;
	transition: color 0.2s;
}

.ws-hero-context a:hover {
	color: var(--ws-ice);
	text-decoration: underline;
}

/* ── Page shell ─────────────────────────────────────────────── */
.ws-shell {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1.5rem 1rem 3.5rem;
}

/* ── Panels ─────────────────────────────────────────────────── */
.ws-panel {
	background: rgba(8,18,30,0.75);
	border: 1px solid var(--ws-border);
	border-radius: 12px;
	padding: 1.5rem;
}

.ws-panel-title {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--ws-steel-light);
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--ws-border);
	padding-bottom: 0.5rem;
}

/* ── Blockquote for default code words ──────────────────────── */
.ws-code-words {
	font-family: 'Courier New', monospace;
	font-weight: 700;
	text-transform: uppercase;
	color: #e05c6a;
	font-size: clamp(0.88rem, 2vw, 1.0rem);
	border-left: 3px solid var(--ws-steel);
	padding-left: 1rem;
	margin: 0.5rem 0 1rem;
	line-height: 1.9;
}

/* ── Form elements ──────────────────────────────────────────── */
.ws-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--ws-steel-light);
	display: block;
	margin-bottom: 0.4rem;
}

.ws-textarea {
	background: rgba(6,13,21,0.85) !important;
	border: 1px solid var(--ws-border) !important;
	color: #e05c6a !important;
	font-family: 'Courier New', monospace !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	border-radius: 8px !important;
	resize: vertical;
	min-height: 90px;
}

.ws-textarea:focus {
	border-color: var(--ws-steel) !important;
	box-shadow: 0 0 0 2px var(--ws-glow) !important;
	outline: none;
}

/* ── Shared button base ─────────────────────────────────────── */
.ws-btn {
	border-radius: 999px;
	padding: 0.45rem 1.2rem;
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: 0.3px;
	transition: background 0.2s, box-shadow 0.2s, border-color 0.2s;
	cursor: pointer;
}

.ws-btn-primary {
	background: rgba(74,154,187,0.20);
	color: var(--ws-ice);
	border: 1px solid rgba(74,154,187,0.50);
}

.ws-btn-primary:hover {
	background: rgba(74,154,187,0.34);
	box-shadow: 0 0 14px var(--ws-glow);
	color: #fff;
}

.ws-btn-sample {
	background: rgba(74,154,187,0.10);
	color: rgba(194,232,245,0.75);
	border: 1px solid var(--ws-border);
}

.ws-btn-sample:hover {
	background: rgba(74,154,187,0.22);
	border-color: rgba(74,154,187,0.52);
	color: var(--ws-ice);
}

.ws-btn-clear {
	background: rgba(200,50,60,0.12);
	color: rgba(250,160,160,0.8);
	border: 1px solid rgba(200,50,60,0.30);
}

.ws-btn-clear:hover {
	background: rgba(200,50,60,0.24);
	border-color: rgba(200,50,60,0.55);
	color: #fda7a7;
}

/* ── Submission display ─────────────────────────────────────── */
.ws-submission-display {
	background: rgba(6,13,21,0.80);
	border: 1px solid var(--ws-border);
	border-radius: 10px;
	padding: 1rem 1.4rem;
	font-family: 'Courier New', monospace;
	font-weight: 700;
	text-transform: uppercase;
	color: #e05c6a;
	font-size: clamp(0.88rem, 2vw, 1.0rem);
	line-height: 1.9;
	margin-bottom: 1.5rem;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* ── Activate CTA link ──────────────────────────────────────── */
.ws-activate-link {
	display: inline-block;
	background: rgba(74,154,187,0.22);
	color: var(--ws-ice);
	border: 2px solid var(--ws-steel);
	border-radius: 999px;
	font-weight: 700;
	font-size: 1.15rem;
	letter-spacing: 1px;
	padding: 0.7rem 2.5rem;
	text-decoration: none;
	transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
	box-shadow: 0 0 18px var(--ws-glow);
}

.ws-activate-link:hover {
	background: rgba(74,154,187,0.40);
	box-shadow: 0 0 32px var(--ws-glow);
	transform: scale(1.04);
	color: #fff;
	text-decoration: none;
}

/* ── Canvas wrapper ─────────────────────────────────────────── */
#myCanvas {
	border: 1px solid var(--ws-border);
	border-radius: 12px;
	box-shadow:
		0 22px 55px rgba(0,0,0,0.75),
		0 0 32px rgba(74,154,187,0.10);
	overflow: hidden;
	display: inline-block;
	max-width: 100%;
	background: #000;
}

#myCanvas canvas {
	display: block;
	max-width: 100%;
}

/* ── Progress bar wrapper ───────────────────────────────────── */
.ws-progress-wrap {
	background: rgba(74,154,187,0.16);
	border-radius: 999px;
	overflow: hidden;
	height: 14px;
	margin-top: 0.75rem;
}

/* The inner bar is styled inline by p5js sketch logic;
   Bootstrap progress-bar classes handle the fill.
   Override colors here to match palette. */
.ws-progress-wrap .progress-bar {
	background: linear-gradient(90deg, var(--ws-steel), var(--ws-ice)) !important;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--ws-dark);
}

/* ── Controls bar ───────────────────────────────────────────── */
.ws-controls-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	margin-top: 0.85rem;
	padding: 0.7rem 1rem;
	background: rgba(8,18,30,0.80);
	border: 1px solid var(--ws-border);
	border-radius: 10px;
	flex-wrap: wrap;
}

/* Pause button — input[type=button] */
input#pauseBtn {
	border-radius: 999px;
	padding: 0.45rem 1.25rem;
	font-weight: 700;
	font-size: 0.9rem;
	letter-spacing: 0.3px;
	background: rgba(74,154,187,0.20);
	color: var(--ws-ice);
	border: 1px solid rgba(74,154,187,0.50);
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
	min-width: 110px;
}

input#pauseBtn:hover {
	background: rgba(74,154,187,0.34);
	box-shadow: 0 0 14px var(--ws-glow);
	color: #fff;
}

/* Restart button — input[type=button] */
input#restartBtn {
	border-radius: 999px;
	padding: 0.45rem 1.2rem;
	font-weight: 700;
	font-size: 0.88rem;
	background: rgba(200,50,60,0.12);
	color: rgba(250,160,160,0.8);
	border: 1px solid rgba(200,50,60,0.30);
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
}

input#restartBtn:hover:not(:disabled) {
	background: rgba(200,50,60,0.24);
	border-color: rgba(200,50,60,0.55);
	color: #fda7a7;
}

input#pauseBtn:disabled,
input#restartBtn:disabled {
	opacity: 0.40;
	cursor: not-allowed;
}

/* ── Notification text ──────────────────────────────────────── */
#notification {
	color: rgba(230,159,77,0.9);
	font-size: 1.0rem;
	min-height: 1.5em;
	text-align: center;
	margin-top: 0.5rem;
}

/* ── Loading paragraph ──────────────────────────────────────── */
#loadingPara {
	color: rgba(230,159,77,0.9);
	text-align: center;
}

/* ── Link overrides for dark panels ─────────────────────────── */
.ws-shell a,
.ws-panel a {
	color: var(--ws-steel-light);
}

.ws-shell a:hover,
.ws-panel a:hover {
	color: var(--ws-ice);
}

/* ── Responsive tweaks ──────────────────────────────────────── */
@media (max-width: 576px) {
	.ws-shell            { padding: 1rem 0.5rem 2.5rem; }
	.ws-activate-link    { font-size: 1rem; padding: 0.6rem 1.8rem; }
	.ws-controls-bar     { gap: 0.5rem; }
}
