:root {
	--bg: #f4efe7;
	--text1: #444346;
	--text2: ##44434650;
	--card: #fffaf2;
	--ink: #1f2933;
	--muted: #6b7280;
	--line: #dfd5c6;
	--accent: #b45309;
	--accent2: #562f65;
}

* {
	box-sizing: border-box
}

body {
	margin: 0;
	font: 15px/1.45 Georgia,serif;
	background: radial-gradient(circle at top,#fff7e8,transparent 35%),linear-gradient(180deg,#f4efe7,#ebe2d4);
	color: var(--ink)
}

a {
	color: inherit
}

.shell {
	max-width: 1100px;
	margin: 0 auto;
	padding: 32px 18px 48px
}

.hero,.toggle,.task-list li,.login-card {
	display: flex;
	align-items: center
}

.hero,.toggle,.task-list li {
	justify-content: space-between
}

.hero {
	margin-bottom: 24px;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: linear-gradient(135deg,rgba(180,83,9,.08),rgba(15,118,110,.08)),var(--card)
}

.eyebrow,.meta,.task-list span,.empty,p {
	margin: 0;
	color: var(--muted)
}

h1,h2 {
	margin: 0 0 10px
}

h2 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .08em
}

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
	gap: 18px
}

.column {
	display: grid;
	gap: 12px
}

.score-grid {
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr));
	gap: 14px
}

.panel {
	border: 1px solid var(--line);
	border-radius: 18px;
	background: rgba(255,255,255,.82);
	backdrop-filter: blur(6px)
}

.toggle {
	width: 100%;
	padding: 16px 18px;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: left;
	font: inherit
}

.toggle span {
	font-weight: 700
}

.toggle strong,.task-list strong {
	padding: 2px 10px;
	border-radius: 999px;
	background: #f3e7d4;
	color: var(--accent)
}

.stat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px
}

.stat-row span {
	font-weight: 700
}

.stat-panel {
	padding: 18px;
	background: linear-gradient(180deg,#fff,#f8f3ea)
}

.stat-label {
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 10px
}

.stat-value {
	font-size: 42px;
	line-height: 1;
	font-weight: 700;
	color: var(--accent)
}

.history-wrap {
	padding: 12px 18px 18px;
	overflow-x: auto;
	overflow-y: hidden
}

.history-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	table-layout: auto
}

.history-table th,.history-table td {
	padding: 8px 10px;
	border-top: 1px solid var(--line);
	text-align: left;
	white-space: nowrap
}

.history-table thead th {
	border-top: 0;
	color: var(--muted);
	font-weight: 700
}

.drawer {
	display: none;
	padding: 0 18px 18px
}

.drawer.open {
	display: block
}

.task-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px
}

.task-list li {
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--line)
}

.task-list li:first-child {
	border-top: 0;
	padding-top: 0
}

.task-list a {
	text-decoration: none;
	font-weight: 700
}

.compact li {
	padding: 8px 0
}

.logout {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 10px 14px;
	background: var(--accent2);
	color: #fff;
	text-decoration: none;
	cursor: pointer
}

button {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 10px 14px;
	background: var(--accent2);
	color: var(--text1);
	text-decoration: none;
	cursor: pointer
}

.login-shell {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 18px
}

.login-card {
	width: min(360px,100%);
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: var(--card)
}

input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff
}

.error {
	width: 100%;
	padding: 10px 12px;
	border-radius: 12px;
	background: #fee2e2;
	color: #991b1b
}

@media (max-width: 640px) {
	.shell {
		padding:20px 12px 36px
	}

	.score-grid {
		grid-template-columns: 1fr 1fr
	}

	.hero {
		align-items: flex-start;
		gap: 14px;
		flex-direction: column
	}
}
