/* Resume Stack — frontend styles */

.rstk-shortcode { font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif; max-width: 860px; margin: 0 auto; }
.rstk-form { display: flex; flex-direction: column; gap: 1.25rem; }
.rstk-credit-summary { font-size: 0.95rem; color: #555; padding: .5rem .75rem; background: #f6f7f8; border-radius: 4px; }
.rstk-field { display: flex; flex-direction: column; gap: .35rem; border: 0; padding: 0; margin: 0; }
.rstk-field label { font-size: 1rem; }
.rstk-hint { display: block; font-weight: 400; font-size: .85rem; color: #666; margin-top: .15rem; }
.rstk-field textarea { width: 100%; padding: .6rem; border: 1px solid #ccc; border-radius: 4px; font: inherit; }
.rstk-field input[type="file"] { padding: .4rem 0; }

.rstk-mode { display: flex; flex-direction: column; gap: .5rem; }
.rstk-mode legend { margin-bottom: .35rem; }
.rstk-mode-option { display: flex; flex-direction: column; padding: .8rem 1rem; border: 1px solid #ddd; border-radius: 6px; cursor: pointer; transition: border-color .15s, background .15s; }
.rstk-mode-option:hover { border-color: #2271b1; background: #f7fbff; }
.rstk-mode-option.is-disabled { opacity: .5; cursor: not-allowed; }
.rstk-mode-option input { margin-right: .5rem; }
.rstk-mode-title { font-weight: 600; }
.rstk-mode-desc { font-size: .9rem; color: #555; margin-top: .1rem; margin-left: 1.5rem; }

.rstk-button { display: inline-block; padding: .65rem 1.25rem; background: #2271b1; color: #fff; border: 0; border-radius: 4px; cursor: pointer; font-size: 1rem; }
.rstk-button:hover { background: #135e96; }
.rstk-button:disabled { opacity: .55; cursor: not-allowed; }

.rstk-status { min-height: 1.5em; font-size: .95rem; }
.rstk-status.is-pending { color: #555; }
.rstk-status.is-success { color: #1a7f37; }
.rstk-status.is-error { color: #b32d2e; }

.rstk-notice { padding: .75rem 1rem; border-radius: 4px; }
.rstk-notice-warning { background: #fff8e1; border: 1px solid #f0c000; color: #5b4400; }
.rstk-notice-info { background: #eef6ff; border: 1px solid #b6d4fe; color: #084298; }
.rstk-notice-success { background: #e6f4ea; border: 1px solid #a3d2ad; color: #0f5132; }

/* Results view */
.rstk-results {
	--rstk-ink: #182230;
	--rstk-muted: #5d6a7a;
	--rstk-panel: #ffffff;
	--rstk-border: #d7dee8;
	--rstk-brand: #095a9c;
	--rstk-accent: #0d9488;
	--rstk-surface: linear-gradient(155deg, #f4f9ff 0%, #f9fcff 42%, #f2fbf8 100%);
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	color: var(--rstk-ink);
}

.rstk-results-v2 .rstk-report-hero {
	padding: 1.15rem;
	border-radius: 14px;
	background: var(--rstk-surface);
	border: 1px solid #d5e3f1;
	box-shadow: 0 16px 30px rgba(24, 34, 48, 0.08);
}

.rstk-results-v2 .rstk-score {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: .95rem;
}

.rstk-score-circle {
	width: 98px;
	height: 98px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.85rem;
	font-weight: 800;
	color: #fff;
	box-shadow: inset 0 -8px 16px rgba(0, 0, 0, 0.15), 0 8px 22px rgba(0, 0, 0, 0.14);
}

.rstk-score-low { background: linear-gradient(150deg, #c62828 0%, #ef5350 100%); }
.rstk-score-mid { background: linear-gradient(150deg, #a96b00 0%, #e3a008 100%); }
.rstk-score-high { background: linear-gradient(150deg, #13795b 0%, #2dbb83 100%); }

.rstk-hero-copy h2 {
	margin: 0;
	font-size: 1.45rem;
	line-height: 1.2;
}

.rstk-eyebrow {
	margin: 0 0 .3rem 0;
	color: #0b4a84;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: .74rem;
}

.rstk-hero-summary {
	margin: .35rem 0 .6rem;
	color: var(--rstk-ink);
	font-size: 1.02rem;
}

.rstk-hero-meta {
	display: flex;
	gap: .45rem;
	flex-wrap: wrap;
}

.rstk-hero-meta span {
	background: #fff;
	border: 1px solid #ced8e7;
	border-radius: 999px;
	padding: .25rem .65rem;
	font-size: .82rem;
	color: #30445d;
}

.rstk-overview-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
}

.rstk-overview-card {
	background: #ffffff;
	border: 1px solid #d6e0ec;
	border-radius: 10px;
	padding: .7rem .75rem;
}

.rstk-overview-card p {
	margin: 0;
	color: var(--rstk-muted);
	font-size: .79rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	font-weight: 700;
}

.rstk-overview-card strong {
	margin-top: .2rem;
	display: block;
	font-size: 1.32rem;
	line-height: 1.05;
	color: #172432;
}

.rstk-section {
	padding: 1.05rem;
	border-radius: 12px;
}

.rstk-card-soft {
	background: var(--rstk-panel);
	border: 1px solid var(--rstk-border);
	box-shadow: 0 6px 18px rgba(21, 31, 44, .06);
}

.rstk-section h3 {
	margin: 0 0 .7rem;
	color: #12304b;
	letter-spacing: .01em;
}

.rstk-insights-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
}

.rstk-list-clean {
	margin: 0;
	padding-left: 1rem;
}

.rstk-list-clean li {
	margin: .35rem 0;
}

.rstk-action-list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: rstk-step;
}

.rstk-action-list li {
	position: relative;
	counter-increment: rstk-step;
	margin: 0 0 .55rem;
	padding: .6rem .7rem .6rem 2.65rem;
	background: #f4f8ff;
	border: 1px solid #d6e5ff;
	border-radius: 9px;
}

.rstk-action-list li::before {
	content: counter(rstk-step);
	position: absolute;
	left: .7rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: linear-gradient(145deg, #0b66b2, #2f8fd3);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: .8rem;
	font-weight: 700;
}

.rstk-skill-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: .6rem;
}

.rstk-skill-item {
	border-radius: 10px;
	padding: .65rem .75rem;
	border: 1px solid transparent;
}

.rstk-sev-red { background: #fff2f1; border-color: #ffd5d1; }
.rstk-sev-yellow { background: #fff8e8; border-color: #ffe2b1; }
.rstk-sev-green { background: #edfdf6; border-color: #b7ecd6; }

.rstk-skill-head {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.rstk-skill-head strong {
	flex: 1;
}

.rstk-skill-copy {
	margin-left: 1.2rem;
	margin-top: .35rem;
	color: #344454;
}

.rstk-sev-dot {
	display: inline-block;
	width: .62rem;
	height: .62rem;
	border-radius: 50%;
	flex-shrink: 0;
}

.rstk-sev-dot.red { background: #c62828; }
.rstk-sev-dot.yellow { background: #b77900; }
.rstk-sev-dot.green { background: #0f8d5f; }

.rstk-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: .16rem .5rem;
	font-size: .66rem;
	letter-spacing: .06em;
	font-weight: 800;
	text-transform: uppercase;
}

.rstk-badge-red { background: #ffd8d6; color: #7f1d1d; }
.rstk-badge-yellow { background: #ffeabf; color: #7c4a00; }
.rstk-badge-green { background: #d6f6e8; color: #065f46; }

.rstk-progress { background: #eef0f2; border-radius: 4px; height: .65rem; overflow: hidden; }
.rstk-progress > span { display: block; height: 100%; background: #2271b1; }

.rstk-rewrite-status { padding: 1rem; border-radius: 6px; background: #f0f6ff; border: 1px solid #b6d4fe; }

@media (max-width: 900px) {
	.rstk-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
	.rstk-results { gap: .95rem; }
	.rstk-results-v2 .rstk-report-hero { padding: .95rem; border-radius: 12px; }
	.rstk-results-v2 .rstk-score { flex-direction: column; align-items: flex-start; }
	.rstk-score-circle { width: 86px; height: 86px; font-size: 1.5rem; }
	.rstk-hero-copy h2 { font-size: 1.18rem; }
	.rstk-insights-grid { grid-template-columns: 1fr; }
	.rstk-overview-grid { grid-template-columns: 1fr 1fr; }
	.rstk-section { padding: .9rem; }
}

/* Results v3 visual polish overrides */
.rstk-results-v2 {
	font-family: "Space Grotesk", "Manrope", "Avenir Next", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #e7f0ff;
	position: relative;
}

.rstk-results-v2::before {
	content: "";
	position: absolute;
	inset: -18px -14px;
	border-radius: 18px;
	background:
		radial-gradient(780px 260px at 10% -8%, rgba(14, 165, 233, 0.15), transparent 60%),
		radial-gradient(620px 240px at 90% 0%, rgba(16, 185, 129, 0.13), transparent 65%),
		linear-gradient(180deg, rgba(9, 13, 24, 0.76), rgba(9, 13, 24, 0.76));
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.rstk-results-v2 .rstk-report-hero {
	background: linear-gradient(160deg, #101a2c 0%, #0e1f36 55%, #112740 100%);
	border: 1px solid rgba(122, 190, 255, 0.34);
	box-shadow: 0 24px 42px rgba(3, 9, 18, 0.5);
}

.rstk-results-v2 .rstk-score {
	gap: 1.15rem;
	margin-bottom: 1.1rem;
}

.rstk-results-v2 .rstk-score-circle {
	width: 108px;
	height: 108px;
	font-size: 2rem;
	border: 4px solid rgba(255, 255, 255, 0.22);
}

.rstk-results-v2 .rstk-eyebrow {
	color: #7ad4ff;
	font-size: .76rem;
}

.rstk-results-v2 .rstk-hero-copy h2 {
	font-size: 1.7rem;
	font-weight: 800;
	color: #f5f9ff;
}

.rstk-results-v2 .rstk-hero-summary {
	color: #d3e4ff;
	font-size: 1.04rem;
	max-width: 62ch;
}

.rstk-results-v2 .rstk-hero-meta span {
	background: rgba(10, 20, 36, 0.78);
	color: #c3dcff;
	border: 1px solid rgba(131, 184, 255, 0.34);
}

.rstk-results-v2 .rstk-overview-card {
	background: linear-gradient(180deg, rgba(12, 25, 44, 0.92), rgba(10, 21, 36, 0.92));
	border: 1px solid rgba(126, 173, 241, 0.3);
}

.rstk-results-v2 .rstk-overview-card p {
	color: #97b8e6;
	font-size: .75rem;
}

.rstk-results-v2 .rstk-overview-card strong {
	color: #ffffff;
	font-size: 1.6rem;
}

.rstk-results-v2 .rstk-card-soft {
	background: linear-gradient(180deg, rgba(12, 20, 34, 0.95), rgba(10, 16, 28, 0.95));
	border: 1px solid rgba(155, 182, 221, 0.28);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.34);
}

.rstk-results-v2 .rstk-section h3 {
	color: #f6fbff;
	font-size: 1.2rem;
	margin-bottom: .8rem;
}

.rstk-results-v2 .rstk-list-clean {
	padding-left: 0;
	list-style: none;
}

.rstk-results-v2 .rstk-list-clean li {
	margin: .42rem 0;
	padding: .48rem .7rem;
	border-radius: 8px;
	color: #deebff;
	background: rgba(30, 50, 77, 0.45);
	border: 1px solid rgba(154, 186, 233, 0.2);
}

.rstk-results-v2 .rstk-action-list li {
	background: rgba(13, 49, 89, 0.58);
	border-color: rgba(116, 180, 255, 0.42);
	color: #eaf3ff;
}

.rstk-results-v2 .rstk-skill-item {
	border-width: 1px;
}

.rstk-results-v2 .rstk-sev-red {
	background: linear-gradient(180deg, #3b1a1e, #321217);
	border-color: rgba(239, 102, 102, 0.5);
}

.rstk-results-v2 .rstk-sev-yellow {
	background: linear-gradient(180deg, #3c3113, #2f260f);
	border-color: rgba(249, 190, 79, 0.52);
}

.rstk-results-v2 .rstk-sev-green {
	background: linear-gradient(180deg, #132f28, #0f251f);
	border-color: rgba(76, 209, 145, 0.45);
}

.rstk-results-v2 .rstk-skill-head strong,
.rstk-results-v2 .rstk-skill-copy {
	color: #edf5ff;
}

.rstk-results-v2 .rstk-badge-red { background: #ffd3d3; color: #6d1111; }
.rstk-results-v2 .rstk-badge-yellow { background: #ffe8b1; color: #684100; }
.rstk-results-v2 .rstk-badge-green { background: #c4f0dc; color: #095a43; }

.rstk-results-v2 .rstk-button {
	background: linear-gradient(130deg, #1b75cb, #16a3a3);
	border-radius: 9px;
	border: 1px solid rgba(171, 233, 255, 0.32);
	font-weight: 700;
	letter-spacing: .01em;
	box-shadow: 0 10px 22px rgba(5, 30, 58, 0.35);
}

.rstk-results-v2 .rstk-button:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
}

.rstk-results-v2 .rstk-hint {
	color: #adc7ea;
	margin-top: .3rem;
}

@media (max-width: 720px) {
	.rstk-results-v2 { font-size: 15px; }
	.rstk-results-v2::before { inset: -12px -8px; }
	.rstk-results-v2 .rstk-overview-card strong { font-size: 1.35rem; }
	.rstk-results-v2 .rstk-score-circle { width: 90px; height: 90px; font-size: 1.6rem; }
	.rstk-results-v2 .rstk-hero-copy h2 { font-size: 1.34rem; }
}
