:root {
	--pw-bg: #030817;
	--pw-panel: #080e21;
	--pw-card: #0b1125;
	--pw-card-soft: #10172d;
	--pw-border: rgba(136, 86, 255, 0.32);
	--pw-border-soft: rgba(139, 111, 255, 0.17);
	--pw-primary: #7138ed;
	--pw-primary-light: #995cff;
	--pw-text: #ffffff;
	--pw-muted: #aeb6cc;

	--pw-radius-lg: 20px;
	--pw-radius-md: 16px;
	--pw-radius-sm: 10px;

	--pw-shadow-glow: 0 0 40px rgba(113, 56, 237, 0.18);
	--pw-transition-fast: 0.22s ease;
	--pw-transition-medium: 0.35s ease;

	--pw-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body.pw-theme select,
body.pw-theme input[type="date"],
body.pw-theme input[type="time"] {
	color-scheme: dark;
}

html, body {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

body.pw-theme {
	background:
		radial-gradient(circle at 50% 20%, rgba(99, 52, 210, 0.12), transparent 35%),
		var(--pw-bg);
	color: var(--pw-text);
	font-family: var(--pw-font);
	margin: 0;
	min-height: 100vh;
}

.pw-theme * { box-sizing: border-box; }

.pw-theme button {
	font-family: inherit;
	cursor: pointer;
}

.pw-theme a { color: inherit; text-decoration: none; }

.pw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: var(--pw-radius-sm);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid transparent;
	transition: transform var(--pw-transition-fast), background var(--pw-transition-fast), box-shadow var(--pw-transition-fast);
	white-space: nowrap;
}
.pw-btn:hover { transform: translateY(-1px); }
.pw-btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }

.pw-btn-outline {
	background: transparent;
	border-color: var(--pw-border);
	color: var(--pw-text);
}
.pw-btn-outline:hover { background: rgba(139, 111, 255, 0.08); }

.pw-btn-primary {
	background: linear-gradient(135deg, var(--pw-primary), var(--pw-primary-light));
	color: #fff;
	box-shadow: 0 8px 24px rgba(113, 56, 237, 0.35);
}
.pw-btn-primary:hover { box-shadow: 0 10px 30px rgba(113, 56, 237, 0.5); }
