:root {
	--jtc-primary: #e94b35;
	--jtc-primary-dark: #c93624;
	--jtc-bg: #fff8ef;
	--jtc-surface: #fffdf8;
	--jtc-text: #36251f;
	--jtc-muted: #846f62;
	--jtc-green: #2f9d68;
	--jtc-line: #f0ded0;
	--jtc-radius: 8px;
	--jtc-shadow: 0 18px 48px rgba(100, 61, 39, .12);
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--jtc-bg);
	color: var(--jtc-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
	overflow-x: hidden;
}

body * {
	box-sizing: border-box;
	letter-spacing: 0;
}

img,
svg,
video {
	max-width: 100%;
}

a {
	color: inherit;
}

.yck-site-header {
	width: min(1320px, calc(100vw - 24px));
	margin: 0 auto;
	padding: 18px 0;
	display: grid;
	grid-template-columns: minmax(200px, 1fr) auto minmax(220px, 1fr);
	align-items: center;
	gap: 18px;
}

.yck-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	font-weight: 900;
}

.yck-brand span {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	box-shadow: 0 8px 20px rgba(233, 75, 53, .22);
}

.yck-brand strong {
	font-size: 20px;
}

.yck-nav {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px;
	border: 1px solid var(--jtc-line);
	border-radius: 999px;
	background: rgba(255, 253, 248, .86);
}

.yck-nav a,
.yck-user a {
	text-decoration: none;
	font-weight: 800;
	color: var(--jtc-muted);
}

.yck-nav a {
	padding: 8px 14px;
	border-radius: 999px;
}

.yck-nav a:first-child {
	background: var(--jtc-primary);
	color: #fff;
}

.yck-user {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	color: var(--jtc-muted);
	min-width: 0;
}

.yck-avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid var(--jtc-surface);
	object-fit: cover;
}

.yck-user-register {
	color: #fff !important;
	background: var(--jtc-primary);
	border-radius: var(--jtc-radius);
	padding: 9px 12px;
}

.yck-nav-check,
.yck-nav-toggle {
	display: none;
}

.yck-site-main {
	min-height: calc(100vh - 120px);
}

.yck-home,
.yck-content {
	width: min(1320px, calc(100vw - 24px));
	margin: 0 auto;
}

.yck-hero {
	position: relative;
	min-height: 460px;
	padding: 48px;
	border-radius: 22px;
	background: #fff4e7;
	box-shadow: var(--jtc-shadow);
	overflow: hidden;
}

.yck-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(255, 252, 245, .96) 0%, rgba(255, 249, 240, .91) 34%, rgba(255, 247, 236, .55) 54%, rgba(255, 247, 236, .05) 74%);
	pointer-events: none;
}

.yck-hero-image {
	position: absolute;
	inset: 0 0 0 auto;
	width: 64%;
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
	display: block;
}

.yck-hero-copy {
	position: relative;
	z-index: 2;
	display: grid;
	align-content: center;
	min-height: 364px;
	max-width: 540px;
}

.yck-hero-copy p,
.yck-section-head p,
.yck-selected-head p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-hero-copy h1 {
	margin: 0;
	font-size: 56px;
	line-height: 1.05;
}

.yck-hero-copy > span {
	display: block;
	margin-top: 12px;
	color: var(--jtc-muted);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.55;
}

.yck-hero-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.yck-hero-steps em {
	font-style: normal;
	font-weight: 900;
	background: var(--jtc-surface);
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	padding: 10px 12px;
}

.yck-hero-cta,
.yck-send,
.yck-pick {
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
}

.yck-hero-cta {
	display: inline-flex;
	margin-top: 28px;
	padding: 13px 18px;
}

.yck-anchor {
	display: block;
	scroll-margin-top: 24px;
}

.yck-home-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: start;
	margin-top: 26px;
}

.yck-home-info {
	margin-top: 34px;
}

.yck-info-head {
	max-width: 760px;
}

.yck-info-head p,
.yck-guest-entry p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-info-head h2,
.yck-guest-entry h2 {
	margin: 0;
	font-size: 28px;
	line-height: 1.18;
}

.yck-info-head span,
.yck-guest-entry span {
	display: block;
	margin-top: 10px;
	color: var(--jtc-muted);
	font-weight: 800;
	line-height: 1.6;
}

.yck-step-cards,
.yck-entry-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.yck-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.yck-info-card,
.yck-entry-card,
.yck-guest-entry {
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: rgba(255, 253, 248, .94);
	box-shadow: 0 12px 30px rgba(100, 61, 39, .08);
}

.yck-info-card,
.yck-entry-card {
	display: grid;
	align-content: start;
	gap: 9px;
	min-height: 166px;
	padding: 18px;
	text-decoration: none;
}

.yck-info-card b,
.yck-info-card > span,
.yck-entry-card > span {
	width: 42px;
	height: 42px;
	display: inline-grid;
	place-items: center;
	border-radius: var(--jtc-radius);
	background: #fff1df;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-info-card h3,
.yck-entry-card h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}

.yck-info-card p,
.yck-entry-card p {
	margin: 0;
	color: var(--jtc-muted);
	font-weight: 800;
	line-height: 1.55;
}

.yck-entry-card:hover {
	border-color: rgba(233, 75, 53, .38);
	transform: translateY(-1px);
}

.yck-guest-entry {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	padding: 22px;
	background: linear-gradient(135deg, #fffdf8 0%, #fff0df 100%);
}

.yck-guest-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.yck-guest-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 14px;
	border-radius: var(--jtc-radius);
	border: 1px solid rgba(233, 75, 53, .28);
	color: var(--jtc-primary);
	background: #fffaf3;
	font-weight: 900;
	text-decoration: none;
}

.yck-guest-actions a:first-child {
	background: var(--jtc-primary);
	color: #fff;
	border-color: var(--jtc-primary);
}

.yck-home-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 16px 0 0;
	padding: 13px 16px;
	border: 1px solid rgba(47, 157, 104, .22);
	border-radius: var(--jtc-radius);
	background: #f0fbf4;
	color: #276b45;
	font-weight: 900;
	line-height: 1.55;
}

.yck-home-notice[hidden] {
	display: none;
}

.yck-home-notice a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 10px;
	border-radius: var(--jtc-radius);
	background: #ffffff;
	color: #276b45;
	text-decoration: none;
	box-shadow: 0 5px 14px rgba(39, 107, 69, .12);
}

.yck-home-notice.is-error {
	border-color: rgba(233, 75, 53, .24);
	background: #fff1ed;
	color: #a83a2a;
}

.yck-home-notice.is-error a {
	color: #a83a2a;
}

.yck-can-cook-mode-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	margin-top: 18px;
	padding: 16px;
	border: 1px solid rgba(47, 157, 104, .22);
	border-radius: var(--jtc-radius);
	background: linear-gradient(135deg, #f2fbef 0%, #fffaf0 100%);
	box-shadow: 0 10px 28px rgba(72, 114, 46, .08);
}

.yck-can-cook-mode-panel p {
	margin: 0 0 4px;
	color: var(--jtc-green);
	font-size: 12px;
	font-weight: 900;
}

.yck-can-cook-mode-panel strong {
	display: block;
	font-size: 21px;
	line-height: 1.25;
	color: var(--jtc-text);
}

.yck-can-cook-mode-panel span,
.yck-can-cook-mode-panel em {
	display: block;
	margin-top: 6px;
	color: var(--jtc-muted);
	font-style: normal;
	font-weight: 800;
	line-height: 1.5;
}

.yck-can-cook-mode-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.yck-can-cook-mode-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 13px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-green);
	color: #fff;
	font-weight: 900;
	text-decoration: none;
}

.yck-can-cook-mode-actions a.is-subtle {
	border: 1px solid rgba(47, 157, 104, .22);
	background: #fffdf8;
	color: var(--jtc-green);
}

.yck-section-head,
.yck-selected-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.yck-section-head h2,
.yck-selected-head h2 {
	margin: 0;
	font-size: 24px;
}

.yck-section-head span,
.yck-random-copy span {
	display: block;
	margin-top: 8px;
	color: var(--jtc-muted);
	font-weight: 800;
	line-height: 1.55;
}

.yck-filter {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 18px 0 16px;
}

.yck-cuisine-filter {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0 18px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.yck-cuisine-filter > span {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	color: var(--jtc-muted);
}

.yck-cuisine-btn {
	flex: 0 0 auto;
	border: 1px solid var(--jtc-line);
	background: #fff;
	color: var(--jtc-text);
	padding: 7px 11px;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	font: inherit;
}

.yck-cuisine-btn.is-active {
	border-color: var(--jtc-primary);
	background: var(--jtc-primary);
	color: #fff;
}

.yck-random-picker {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	margin-top: 18px;
	padding: 16px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: linear-gradient(135deg, #fffdf8 0%, #fff3df 100%);
	box-shadow: 0 10px 28px rgba(100, 61, 39, .08);
}

.yck-random-copy p,
.yck-random-result p {
	margin: 0 0 5px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-random-copy h2 {
	margin: 0;
	font-size: 22px;
}

.yck-random-controls {
	display: flex;
	align-items: end;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.yck-random-controls label {
	display: grid;
	gap: 5px;
	color: var(--jtc-muted);
	font-size: 13px;
	font-weight: 900;
}

.yck-random-controls select {
	min-height: 42px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: var(--jtc-surface);
	color: var(--jtc-text);
	font: inherit;
	font-weight: 800;
	padding: 0 10px;
}

.yck-random-controls button,
.yck-random-actions button {
	min-height: 42px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
	padding: 0 14px;
}

.yck-random-result {
	grid-column: 1 / -1;
	display: grid;
	gap: 10px;
	padding: 14px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-surface);
}

.yck-random-result[hidden] {
	display: none;
}

.yck-random-result strong {
	font-size: 20px;
	line-height: 1.45;
}

.yck-meal-plan-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.yck-meal-plan-list[hidden] {
	display: none;
}

.yck-meal-plan-card {
	display: grid;
	gap: 8px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fffaf3;
	color: var(--jtc-text);
	text-decoration: none;
}

.yck-meal-plan-card span {
	color: var(--jtc-primary);
	font-size: 13px;
	font-weight: 900;
}

.yck-meal-plan-card img,
.yck-meal-plan-card b {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: calc(var(--jtc-radius) - 2px);
	background: #ffe6d4;
	object-fit: cover;
	display: grid;
	place-items: center;
	color: var(--jtc-primary);
	font-size: 28px;
	overflow: hidden;
}

.yck-meal-plan-card strong {
	font-size: 15px;
	line-height: 1.35;
}

.yck-random-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.yck-random-actions button[data-random-refresh] {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-search {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	margin: 16px 0 12px;
	padding: 10px 12px;
	border: 1px solid var(--jtc-line);
	border-radius: calc(var(--jtc-radius) + 4px);
	background: var(--jtc-surface);
	box-shadow: 0 10px 28px rgba(100, 61, 39, .06);
}

.yck-search label {
	font-size: 18px;
	line-height: 1;
}

.yck-search input {
	width: 100%;
	min-height: 44px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--jtc-text);
	font: inherit;
	font-size: 16px;
	font-weight: 800;
}

.yck-search input::placeholder {
	color: var(--jtc-muted);
	opacity: .78;
}

.yck-search button,
.yck-search-empty button {
	border: 0;
	border-radius: 999px;
	background: #f4e3d7;
	color: var(--jtc-muted);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.yck-search button {
	width: 34px;
	height: 34px;
	font-size: 20px;
}

.yck-search-empty,
.yck-recent-empty {
	display: grid;
	gap: 8px;
	margin-top: 16px;
	text-align: center;
	color: var(--jtc-muted);
}

.yck-search-empty[hidden],
.yck-recent-empty[hidden] {
	display: none;
}

.yck-search-empty strong,
.yck-recent-empty strong {
	color: var(--jtc-text);
	font-size: 18px;
}

.yck-search-empty button {
	justify-self: center;
	min-height: 38px;
	padding: 0 14px;
}

.yck-filter-btn {
	flex: 0 0 auto;
	border: 1px solid var(--jtc-line);
	background: var(--jtc-surface);
	color: var(--jtc-muted);
	border-radius: 999px;
	padding: 10px 14px;
	font-weight: 900;
	cursor: pointer;
}

.yck-filter-btn.is-active {
	background: var(--jtc-text);
	color: #fff;
	border-color: var(--jtc-text);
}

.yck-recipe-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.yck-recipe-card,
.yck-selected-panel,
.yck-entry,
.yck-empty {
	background: var(--jtc-surface);
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	box-shadow: 0 10px 28px rgba(100, 61, 39, .08);
}

.yck-recipe-card {
	overflow: hidden;
}

.yck-recipe-card.is-picked {
	border-color: rgba(47, 157, 104, .55);
	box-shadow: 0 12px 34px rgba(47, 157, 104, .16);
}

.yck-card-cover {
	position: relative;
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #f6c489, #8fb985);
	color: #fff;
	font-size: 46px;
	font-weight: 900;
}

.yck-card-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-card-cover b {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--jtc-primary);
	color: #fff;
	border-radius: var(--jtc-radius);
	padding: 5px 8px;
	font-size: 12px;
}

.yck-favorite-btn {
	border: 1px solid var(--jtc-line);
	background: #fffdf8;
	color: var(--jtc-primary);
	cursor: pointer;
	font: inherit;
	font-weight: 900;
	transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}

.yck-favorite-btn:hover {
	transform: translateY(-1px);
}

.yck-favorite-btn:disabled {
	opacity: .65;
	cursor: wait;
	transform: none;
}

.yck-card-cover .yck-favorite-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	box-shadow: 0 10px 22px rgba(100, 61, 39, .14);
	font-size: 22px;
	line-height: 1;
}

.yck-card-cover .yck-favorite-btn.is-favorite,
.yck-detail-favorite.is-favorite {
	background: var(--jtc-primary);
	border-color: var(--jtc-primary);
	color: #fff;
}

.yck-card-body {
	padding: 14px;
}

.yck-card-body header {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: flex-start;
}

.yck-card-body h3 {
	margin: 2px 0 0;
	font-size: 19px;
}

.yck-card-body header p {
	margin: 0;
	color: var(--jtc-muted);
	font-size: 12px;
	font-weight: 900;
}

.yck-pick {
	flex: 0 0 auto;
	padding: 9px 12px;
}

.yck-recipe-card.is-picked .yck-pick {
	background: var(--jtc-green);
}

.yck-can-cook-mode .yck-pick {
	border-color: rgba(100, 61, 39, .18);
	background: #fffdf8;
	color: var(--jtc-muted);
}

.yck-can-cook-btn {
	width: fit-content;
	margin-top: 12px;
	min-height: 36px;
	padding: 0 12px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fffdf8;
	color: var(--jtc-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
	transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}

.yck-can-cook-btn:hover {
	transform: translateY(-1px);
}

.yck-can-cook-btn:disabled {
	opacity: .65;
	cursor: wait;
	transform: none;
}

.yck-can-cook-btn.is-can-cook,
.yck-recipe-card.is-can-cook .yck-can-cook-btn {
	background: #e9f5df;
	border-color: #b8d7a2;
	color: #48722e;
}

.yck-can-cook-mode .yck-can-cook-btn {
	border-color: rgba(47, 157, 104, .42);
	background: #f4fbef;
	color: var(--jtc-green);
	box-shadow: 0 7px 18px rgba(47, 157, 104, .12);
}

.yck-can-cook-mode .yck-can-cook-btn:not(.is-can-cook)::after {
	content: "加入拿手菜";
	margin-left: 8px;
	color: #6a8b54;
	font-size: 12px;
}

.yck-recipe-hero-actions .yck-can-cook-btn,
.yck-recipe-actions .yck-can-cook-btn {
	margin-top: 0;
	min-height: 42px;
}

.yck-meta {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	color: var(--jtc-muted);
	font-weight: 800;
	font-size: 13px;
}

.yck-meta span {
	background: #fff8ef;
	border-radius: var(--jtc-radius);
	padding: 5px 8px;
}

.yck-recent-hint {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-top: 10px;
	border-radius: 999px;
	background: #fff2df;
	color: #b45a2a;
	padding: 5px 9px;
	font-size: 12px;
	font-weight: 900;
}

.yck-ingredients {
	min-height: 42px;
	color: var(--jtc-muted);
	line-height: 1.55;
}

.yck-recipe-link {
	color: var(--jtc-primary-dark);
	font-weight: 900;
	text-decoration: none;
}

.yck-selected-panel {
	position: sticky;
	top: 18px;
	padding: 18px;
}

.yck-selected-head strong {
	background: #fff8ef;
	color: var(--jtc-primary);
	border-radius: var(--jtc-radius);
	padding: 8px 10px;
}

.yck-selected-empty {
	margin: 18px 0;
	color: var(--jtc-muted);
	display: grid;
	gap: 6px;
	line-height: 1.55;
}

.yck-selected-empty strong {
	color: var(--jtc-text);
	font-size: 17px;
}

.yck-selected-empty span,
.yck-selected-empty small {
	display: block;
	font-weight: 800;
}

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

.yck-selected-list li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border-radius: var(--jtc-radius);
	background: #fff8ef;
}

.yck-selected-thumb {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: var(--jtc-radius);
	overflow: hidden;
	background: #f6c489;
	color: #fff;
	font-weight: 900;
}

.yck-selected-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.yck-selected-title {
	font-weight: 900;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.yck-remove {
	border: 0;
	background: transparent;
	color: var(--jtc-primary-dark);
	font-weight: 900;
	cursor: pointer;
}

.yck-field {
	display: grid;
	gap: 7px;
	margin-top: 14px;
	color: var(--jtc-muted);
	font-weight: 900;
}

.yck-selected-panel [data-email-field][hidden],
.yck-selected-panel [data-remember-email-field][hidden] {
	display: none !important;
}

.yck-field input,
.yck-field textarea {
	width: 100%;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	padding: 11px 12px;
	background: #fff;
	color: var(--jtc-text);
	font: inherit;
}

.yck-meal-timing > span {
	color: var(--jtc-muted);
}

.yck-notification-mode small {
	display: block;
	color: var(--jtc-muted);
	font-weight: 800;
	line-height: 1.55;
}

.yck-segmented,
.yck-mobile-timing {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.yck-segmented label,
.yck-mobile-timing label {
	position: relative;
	display: block;
	cursor: pointer;
}

.yck-segmented input,
.yck-mobile-timing input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.yck-segmented label span,
.yck-mobile-timing label span {
	display: grid;
	min-height: 40px;
	place-items: center;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff;
	color: var(--jtc-muted);
	font-weight: 900;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.yck-segmented input:checked + span,
.yck-mobile-timing input:checked + span {
	border-color: var(--jtc-primary);
	background: #fff2df;
	color: var(--jtc-primary-dark);
}

.yck-send {
	width: 100%;
	margin-top: 16px;
	padding: 13px 16px;
}

.yck-send:disabled {
	opacity: .68;
	cursor: wait;
}

.yck-mobile-bar {
	display: none;
}

.yck-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: grid;
	place-items: center;
	background: rgba(54, 37, 31, .42);
	padding: 18px;
}

.yck-modal[hidden] {
	display: none;
}

.yck-modal-box {
	width: min(420px, 100%);
	background: var(--jtc-surface);
	border-radius: var(--jtc-radius);
	padding: 22px;
	position: relative;
}

.yck-modal-close {
	position: absolute;
	top: 10px;
	right: 10px;
	border: 0;
	background: #fff8ef;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
}

.yck-modal-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.yck-modal-actions a,
.yck-modal-actions button {
	border: 0;
	border-radius: var(--jtc-radius);
	padding: 10px 12px;
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	text-decoration: none;
}

.yck-copy-share-text,
.yck-history-copy-link {
	cursor: pointer;
}

.yck-copy-share-text.is-copied,
.yck-history-copy-link.is-copied {
	background: #2f7d52;
}

.yck-copy-fallback {
	display: grid;
	gap: 8px;
	margin-top: 12px;
	color: var(--jtc-muted);
	font-size: 13px;
}

.yck-copy-fallback textarea {
	width: 100%;
	min-width: 0;
	min-height: 140px;
	border: 1px solid var(--jtc-line);
	border-radius: 10px;
	padding: 10px 12px;
	background: #fffdf8;
	color: var(--jtc-text);
	font-size: 14px;
	line-height: 1.6;
	resize: vertical;
}

.yck-token-task,
.yck-token-invalid,
.yck-history-page,
.yck-kitchen-account {
	max-width: 1080px;
	margin: 0 auto;
}

.yck-token-hero,
.yck-history-hero,
.yck-kitchen-hero,
.yck-kitchen-guest-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 22px;
	align-items: stretch;
	padding: 28px;
	border: 1px solid var(--jtc-line);
	border-radius: calc(var(--jtc-radius) + 10px);
	background: linear-gradient(135deg, #fffdf8 0%, #fff0e7 100%);
	box-shadow: var(--jtc-shadow);
}

.yck-token-hero p,
.yck-token-message p,
.yck-history-hero p,
.yck-kitchen-hero p,
.yck-kitchen-guest-card p,
.yck-kitchen-card p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-token-hero h1,
.yck-history-hero h1,
.yck-kitchen-hero h1,
.yck-kitchen-guest-card h1 {
	margin: 0 0 10px;
	font-size: 44px;
	line-height: 1.08;
}

.yck-token-hero span,
.yck-history-hero span,
.yck-kitchen-hero span,
.yck-kitchen-guest-card span {
	color: var(--jtc-muted);
	font-weight: 800;
}

.yck-token-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.yck-token-meta span,
.yck-task-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid var(--jtc-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .68);
	color: var(--jtc-muted);
	font-size: 13px;
}

.yck-token-status {
	display: grid;
	align-content: center;
	justify-items: start;
	gap: 10px;
	padding: 20px;
	border-radius: calc(var(--jtc-radius) + 8px);
	background: var(--jtc-surface);
	border: 1px solid rgba(233, 75, 53, .16);
}

.yck-token-status strong {
	font-size: 24px;
	color: var(--jtc-green);
}

.yck-token-message,
.yck-token-actions,
.yck-shopping-list,
.yck-task-recipe,
.yck-token-invalid,
.yck-history-card,
.yck-history-empty,
.yck-kitchen-card {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid var(--jtc-line);
	border-radius: calc(var(--jtc-radius) + 8px);
	background: var(--jtc-surface);
	box-shadow: 0 12px 32px rgba(100, 61, 39, .08);
}

.yck-token-message blockquote {
	margin: 0;
	color: var(--jtc-text);
	font-size: 20px;
	line-height: 1.7;
	font-weight: 800;
}

.yck-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.yck-status-actions button {
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

.yck-status-actions button.is-subtle {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-status-actions button:disabled {
	opacity: .65;
	cursor: wait;
}

.yck-status-notice {
	margin-bottom: 12px;
	color: var(--jtc-green);
	font-weight: 800;
}

.yck-status-notice.is-error {
	color: var(--jtc-primary-dark);
}

.yck-complete-note {
	margin-top: 14px;
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-radius: var(--jtc-radius);
	background: #eef8ef;
	color: var(--jtc-green);
	font-weight: 900;
}

.yck-complete-note[hidden] {
	display: none;
}

.yck-shopping-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.yck-shopping-head p {
	margin: 0 0 6px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-shopping-head h2 {
	margin: 0;
	font-size: 28px;
}

.yck-shopping-head button {
	min-height: 42px;
	padding: 0 14px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: #f4e3d7;
	color: var(--jtc-muted);
	font-weight: 900;
	cursor: pointer;
}

.yck-shopping-groups {
	display: grid;
	gap: 14px;
}

.yck-shopping-group {
	padding: 16px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff8ef;
}

.yck-shopping-group h3 {
	margin: 0 0 12px;
	font-size: 22px;
}

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

.yck-shopping-column {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 14px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-surface);
}

.yck-shopping-column strong {
	color: var(--jtc-primary);
}

.yck-shopping-column ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.yck-shopping-column label {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
	min-height: 34px;
	color: var(--jtc-text);
	font-weight: 800;
	cursor: pointer;
}

.yck-shopping-column input {
	width: 20px;
	height: 20px;
	accent-color: var(--jtc-green);
}

.yck-shopping-column li.is-checked span {
	color: var(--jtc-muted);
	text-decoration: line-through;
	opacity: .72;
}

.yck-shopping-column em {
	color: var(--jtc-muted);
	font-style: normal;
	font-weight: 800;
}

.yck-task-recipes {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.yck-task-recipe {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	margin-top: 0;
}

.yck-task-cover {
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: calc(var(--jtc-radius) + 6px);
	background: linear-gradient(135deg, #ffcfba, #f2f8d8);
	color: var(--jtc-primary);
	text-decoration: none;
	font-size: 42px;
	font-weight: 900;
}

.yck-task-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-task-copy h2 {
	margin: 0 0 8px;
	font-size: 26px;
}

.yck-task-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.yck-task-copy p {
	margin: 0 0 14px;
	color: var(--jtc-muted);
	line-height: 1.7;
}

.yck-task-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	text-decoration: none;
	font-weight: 900;
}

.yck-token-invalid {
	text-align: center;
	padding: 46px 24px;
}

.yck-token-invalid p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-token-invalid h1 {
	margin: 0 auto 20px;
	max-width: 620px;
	font-size: 34px;
}

.yck-history-hero {
	grid-template-columns: 1fr;
}

.yck-history-list {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.yck-history-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.yck-history-card time {
	display: block;
	color: var(--jtc-muted);
	font-weight: 800;
}

.yck-history-card h2 {
	margin: 6px 0 0;
	font-size: 26px;
}

.yck-history-status {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #eef8ef;
	color: var(--jtc-green);
	font-weight: 900;
	white-space: nowrap;
}

.yck-history-status.is-pending {
	background: #fff3df;
	color: #b06b21;
}

.yck-history-status.is-cancelled {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-history-recipes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.yck-history-recipe {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	padding: 8px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: rgba(255, 248, 239, .52);
	text-decoration: none;
}

.yck-history-thumb {
	width: 68px;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: var(--jtc-radius);
	background: linear-gradient(135deg, #ffcfba, #f2f8d8);
	color: var(--jtc-primary);
	font-size: 24px;
	font-weight: 900;
}

.yck-history-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-history-recipe strong,
.yck-history-recipe em {
	display: block;
	overflow-wrap: anywhere;
}

.yck-history-recipe em {
	margin-top: 3px;
	color: var(--jtc-muted);
	font-style: normal;
	font-size: 13px;
}

.yck-history-meta {
	display: grid;
	gap: 8px;
	margin-top: 14px;
	color: var(--jtc-muted);
	font-weight: 800;
}

.yck-history-meal-date {
	display: inline-flex;
	width: fit-content;
	margin: 6px 0 0;
	padding: 5px 9px;
	border-radius: 999px;
	background: #fff2df;
	color: #b45a2a;
	font-size: 12px;
	font-weight: 900;
}

.yck-history-meta p {
	margin: 0;
	padding: 12px;
	border-radius: var(--jtc-radius);
	background: #fff8ef;
	color: var(--jtc-text);
	line-height: 1.65;
}

.yck-history-card-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: 16px;
}

.yck-repeat-order,
.yck-history-copy-link {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	text-decoration: none;
	font-weight: 900;
}

.yck-history-copy-link {
	border: 1px solid var(--jtc-line);
	background: #fff8ef;
	color: var(--jtc-text);
}

.yck-history-empty {
	text-align: center;
	padding: 40px 22px;
}

.yck-history-empty h2 {
	margin: 0 0 8px;
	font-size: 30px;
}

.yck-history-empty p {
	margin: 0 0 18px;
	color: var(--jtc-muted);
	font-weight: 800;
}

.yck-history-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.yck-history-actions a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	text-decoration: none;
	font-weight: 900;
}

.yck-history-actions a.is-subtle {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-kitchen-guest-card {
	grid-template-columns: 1fr;
	text-align: center;
	padding: 44px 24px;
}

.yck-kitchen-hero {
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
}

.yck-kitchen-avatars {
	display: flex;
	align-items: center;
	gap: 10px;
}

.yck-kitchen-avatars i {
	font-style: normal;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-kitchen-avatar {
	width: 92px;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	border: 4px solid var(--jtc-surface);
	border-radius: 50%;
	background: linear-gradient(135deg, #ffcfba, #f2f8d8);
	box-shadow: 0 10px 24px rgba(100, 61, 39, .12);
	color: var(--jtc-primary);
	font-size: 28px;
	font-weight: 900;
}

.yck-kitchen-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-avatar-card {
	grid-column: 1 / -1;
}

.yck-avatar-manager {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
}

.yck-avatar-preview {
	width: 112px;
	height: 112px;
	border-radius: 50%;
	object-fit: cover;
	border: 5px solid #fff;
	box-shadow: 0 12px 26px rgba(100, 61, 39, .16);
	background: #fff7ef;
	flex: 0 0 auto;
}

.yck-avatar-manager-copy {
	display: grid;
	gap: 9px;
	min-width: 0;
}

.yck-avatar-manager-copy strong {
	font-size: 18px;
}

.yck-avatar-manager-copy span {
	color: var(--jtc-muted);
	line-height: 1.65;
}

.yck-avatar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.yck-avatar-upload-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	border-radius: var(--jtc-radius);
	background: #f4e3d7;
	color: var(--jtc-muted);
	font-weight: 900;
	cursor: pointer;
}

.yck-avatar-upload-button input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.yck-kitchen-hero-copy strong {
	display: block;
	margin: 8px 0 12px;
	font-size: 22px;
}

.yck-kitchen-hero-copy em {
	font-style: normal;
	color: var(--jtc-primary);
}

.yck-kitchen-date {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .68);
	border: 1px solid var(--jtc-line);
}

.yck-kitchen-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 18px;
	align-items: start;
}

.yck-kitchen-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.yck-kitchen-card h2 {
	margin: 0;
	font-size: 28px;
}

.yck-kitchen-edit,
.yck-email-alert button,
.yck-avatar-actions button,
.yck-kitchen-form-actions button {
	min-height: 42px;
	padding: 0 14px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

.yck-profile-summary dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0 0;
}

.yck-profile-summary dl div {
	padding: 14px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff8ef;
}

.yck-profile-summary dt {
	color: var(--jtc-muted);
	font-size: 13px;
	font-weight: 900;
}

.yck-profile-summary dd {
	margin: 6px 0 0;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.yck-email-alert {
	display: grid;
	gap: 6px;
	margin-top: 14px;
	padding: 14px;
	border-radius: var(--jtc-radius);
	background: #fff3df;
	color: #9b5a18;
	font-weight: 800;
}

.yck-email-alert button {
	justify-self: start;
	margin-top: 4px;
}

.yck-partner-bind {
	margin-top: 14px !important;
	color: var(--jtc-muted) !important;
}

.yck-kitchen-form {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.yck-kitchen-form[hidden],
.yck-profile-summary[hidden] {
	display: none;
}

.yck-kitchen-form label {
	display: grid;
	gap: 7px;
	color: var(--jtc-muted);
	font-weight: 900;
}

.yck-kitchen-form input {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff;
	color: var(--jtc-text);
	font: inherit;
	padding: 0 12px;
}

.yck-kitchen-form-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.yck-kitchen-form-actions button.is-subtle {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-kitchen-notice {
	color: var(--jtc-green);
	font-weight: 900;
}

.yck-kitchen-notice.is-error {
	color: var(--jtc-primary-dark);
}

.yck-signature-dishes {
	display: grid;
	gap: 16px;
}

.yck-signature-list {
	display: grid;
	gap: 12px;
}

.yck-signature-list[hidden],
.yck-signature-empty[hidden] {
	display: none;
}

.yck-signature-dish-card {
	display: grid;
	grid-template-columns: 118px minmax(0, 1fr);
	gap: 14px;
	padding: 12px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff8ef;
}

.yck-signature-cover {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	border-radius: var(--jtc-radius);
	background: #f4e3d7;
	overflow: hidden;
	color: var(--jtc-primary);
	font-weight: 900;
	text-decoration: none;
}

.yck-signature-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-signature-dish-copy {
	min-width: 0;
	display: grid;
	align-content: start;
	gap: 8px;
}

.yck-signature-dish-copy p {
	margin: 0;
	color: var(--jtc-muted);
	font-size: 12px;
	font-weight: 900;
}

.yck-signature-dish-copy h3 {
	margin: 0;
	font-size: 18px;
}

.yck-signature-dish-card .yck-meta {
	margin-top: 0;
	flex-wrap: wrap;
}

.yck-signature-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.yck-signature-actions a,
.yck-signature-actions button,
.yck-signature-empty a {
	min-height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
}

.yck-signature-actions a.is-subtle {
	background: #f4e3d7;
	color: var(--jtc-muted);
}

.yck-signature-actions button {
	background: #fff;
	border: 1px solid var(--jtc-line);
	color: var(--jtc-muted);
}

.yck-signature-actions button:disabled {
	opacity: .65;
	cursor: wait;
}

.yck-signature-empty {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px dashed var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff8ef;
}

.yck-signature-empty strong {
	font-size: 18px;
}

.yck-signature-empty span {
	color: var(--jtc-muted);
	line-height: 1.6;
	font-weight: 800;
}

.yck-signature-empty a {
	width: fit-content;
}

.yck-kitchen-shortcuts {
	display: grid;
	gap: 10px;
}

.yck-kitchen-shortcuts a {
	display: grid;
	gap: 4px;
	padding: 14px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff8ef;
	text-decoration: none;
	font-weight: 900;
}

.yck-kitchen-shortcuts a span {
	color: var(--jtc-muted);
	font-size: 13px;
}

.yck-auth-page {
	width: min(520px, calc(100vw - 24px));
	margin: 32px auto;
}

.yck-auth-card {
	padding: 28px;
	border: 1px solid var(--jtc-line);
	border-radius: calc(var(--jtc-radius) + 10px);
	background: linear-gradient(135deg, #fffdf8 0%, #fff0e7 100%);
	box-shadow: var(--jtc-shadow);
}

.yck-auth-card p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-weight: 900;
}

.yck-auth-card h1 {
	margin: 0 0 10px;
	font-size: 38px;
	line-height: 1.08;
}

.yck-auth-card > span {
	display: block;
	margin-bottom: 18px;
	color: var(--jtc-muted);
	font-weight: 800;
}

.yck-auth-form {
	display: grid;
	gap: 13px;
	margin-top: 18px;
}

.yck-auth-form label {
	display: grid;
	gap: 7px;
	color: var(--jtc-muted);
	font-weight: 900;
}

.yck-auth-form input {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: #fff;
	color: var(--jtc-text);
	font: inherit;
	padding: 0 12px;
}

.yck-auth-check {
	display: inline-flex !important;
	grid-template-columns: 18px 1fr;
	align-items: center;
	gap: 8px !important;
}

.yck-auth-check input {
	min-height: auto;
	width: 18px;
}

.yck-auth-form button {
	min-height: 46px;
	border: 0;
	border-radius: var(--jtc-radius);
	background: var(--jtc-primary);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

.yck-auth-links {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.yck-auth-links a {
	color: var(--jtc-primary-dark);
	font-weight: 900;
	text-decoration: none;
}

.yck-auth-error {
	margin-top: 14px;
	padding: 12px;
	border-radius: var(--jtc-radius);
	background: #fff3df;
	color: var(--jtc-primary-dark);
	font-weight: 900;
}

.yck-entry,
.yck-empty {
	padding: 24px;
}

.yck-favorites-empty {
	margin-top: 16px;
}

.yck-recipe-page {
	width: min(1120px, calc(100vw - 24px));
	margin: 0 auto;
}

.yck-recipe-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 44%);
	gap: 28px;
	align-items: stretch;
	background: linear-gradient(135deg, #fffdf8 0%, #ffe7d5 58%, #e8f2df 100%);
	border: 1px solid var(--jtc-line);
	box-shadow: var(--jtc-shadow);
	padding: 28px;
}

.yck-recipe-hero-copy {
	align-self: center;
}

.yck-back-link {
	display: inline-flex;
	color: var(--jtc-primary-dark);
	font-weight: 900;
	text-decoration: none;
	margin-bottom: 18px;
}

.yck-recipe-hero h1 {
	margin: 0;
	font-size: 48px;
	line-height: 1.08;
}

.yck-recipe-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.yck-recipe-tags span {
	background: var(--jtc-surface);
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	color: var(--jtc-muted);
	font-weight: 900;
	padding: 9px 12px;
}

.yck-recipe-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 28px;
}

.yck-recipe-cta {
	display: inline-flex;
	background: var(--jtc-primary);
	color: #fff;
	border-radius: var(--jtc-radius);
	padding: 13px 18px;
	text-decoration: none;
	font-weight: 900;
}

.yck-recipe-hero-actions .yck-recipe-cta {
	margin-top: 0;
}

.yck-detail-favorite {
	min-height: 46px;
	padding: 0 16px;
	border-radius: var(--jtc-radius);
}

.yck-favorite-notice {
	margin-top: 12px;
	padding: 12px;
	border-radius: var(--jtc-radius);
	background: #f0fbf4;
	color: #276b45;
	font-weight: 900;
}

.yck-favorite-notice.is-error {
	background: #fff1ed;
	color: #a83a2a;
}

.yck-favorite-notice a {
	color: inherit;
	font-weight: 900;
}

.yck-recipe-hero-cover {
	min-height: 360px;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(135deg, #f6c489, #8fb985);
	color: #fff;
	font-size: 72px;
	font-weight: 900;
}

.yck-recipe-hero-cover,
.yck-recipe-panel,
.yck-rich-step,
.yck-recipe-actions {
	border-radius: var(--jtc-radius);
}

.yck-recipe-hero-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yck-recipe-body {
	display: grid;
	gap: 18px;
	margin-top: 22px;
}

.yck-recipe-panel {
	background: var(--jtc-surface);
	border: 1px solid var(--jtc-line);
	box-shadow: 0 10px 28px rgba(100, 61, 39, .08);
	padding: 24px;
}

.yck-recipe-panel h2 {
	margin: 0 0 16px;
	font-size: 24px;
}

.yck-recipe-lines {
	color: var(--jtc-text);
	line-height: 1.9;
	font-size: 17px;
}

.yck-muted {
	color: var(--jtc-muted);
}

.yck-rich-steps {
	display: grid;
	gap: 16px;
}

.yck-rich-step {
	display: grid;
	grid-template-columns: 58px minmax(180px, 280px) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	background: #fff8ef;
	padding: 14px;
}

.yck-rich-step:not(:has(img)) {
	grid-template-columns: 58px minmax(0, 1fr);
}

.yck-step-index {
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	background: var(--jtc-primary);
	color: #fff;
	border-radius: var(--jtc-radius);
	font-weight: 900;
}

.yck-rich-step img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--jtc-radius);
	display: block;
}

.yck-step-copy h3 {
	margin: 0 0 8px;
	font-size: 18px;
}

.yck-step-copy p,
.yck-tips p {
	margin: 0;
	line-height: 1.8;
	color: var(--jtc-muted);
}

.yck-step-copy .yck-step-action {
	color: var(--jtc-text);
	font-size: 16px;
}

.yck-step-guidance {
	margin-top: 9px !important;
	padding-left: 10px;
	border-left: 2px solid rgba(233, 75, 53, .3);
	font-size: 13px;
	line-height: 1.65 !important;
	color: #8a7061 !important;
}

.yck-step-guidance span {
	display: inline-block;
	margin-right: 7px;
	color: var(--jtc-primary-dark);
	font-size: 12px;
	font-weight: 800;
}

.yck-plain-steps {
	margin: 0;
	padding-left: 24px;
	display: grid;
	gap: 12px;
	line-height: 1.8;
}

.yck-tips {
	background: #fff8ef;
}

.yck-recipe-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--jtc-surface);
	border: 1px solid var(--jtc-line);
	padding: 18px 24px;
}

.yck-recipe-actions .yck-recipe-cta {
	margin-top: 0;
}

.yck-cuisine-archive {
	width: min(1320px, calc(100vw - 24px));
	margin: 0 auto;
}

.yck-cuisine-archive-head {
	margin-bottom: 24px;
	padding: 28px;
	border: 1px solid var(--jtc-line);
	border-radius: var(--jtc-radius);
	background: var(--jtc-surface);
	box-shadow: 0 12px 34px rgba(100, 61, 39, .08);
}

.yck-cuisine-archive-head > a {
	display: inline-block;
	margin-bottom: 22px;
	color: var(--jtc-primary-dark);
	font-weight: 800;
	text-decoration: none;
}

.yck-cuisine-archive-head p {
	margin: 0 0 8px;
	color: var(--jtc-primary);
	font-size: 14px;
	font-weight: 900;
}

.yck-cuisine-archive-head h1 {
	margin: 0;
	font-size: 40px;
	line-height: 1.2;
}

.yck-cuisine-archive-head span {
	display: block;
	margin-top: 12px;
	color: var(--jtc-muted);
	font-weight: 700;
	line-height: 1.7;
}

.yck-cuisine-archive .navigation.pagination {
	margin-top: 28px;
}

.yck-cuisine-archive .nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.yck-cuisine-archive .page-numbers {
	min-width: 40px;
	height: 40px;
	display: inline-grid;
	place-items: center;
	padding: 0 12px;
	border: 1px solid var(--jtc-line);
	border-radius: 6px;
	background: var(--jtc-surface);
	font-weight: 800;
	text-decoration: none;
}

.yck-cuisine-archive .page-numbers.current {
	border-color: var(--jtc-primary);
	background: var(--jtc-primary);
	color: #fff;
}

.yck-site-footer {
	width: min(1320px, calc(100vw - 24px));
	margin: 32px auto 0;
	padding: 24px 0;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	color: var(--jtc-muted);
	font-weight: 800;
	border-top: 1px solid var(--jtc-line);
}

@media (max-width: 980px) {
	.yck-site-header {
		grid-template-columns: minmax(0, 1fr) 42px;
		gap: 10px;
	}

	.yck-nav-toggle {
		display: inline-grid;
		place-items: center;
		justify-self: end;
		width: 40px;
		height: 40px;
		border: 1px solid var(--jtc-line);
		border-radius: var(--jtc-radius);
		background: var(--jtc-surface);
		font-weight: 900;
		cursor: pointer;
	}

	.yck-nav,
	.yck-user {
		display: none;
	}

	.yck-nav-check:checked ~ .yck-nav,
	.yck-nav-check:checked ~ .yck-user {
		display: flex;
		grid-column: 1 / -1;
		justify-self: stretch;
	}

	.yck-nav-check:checked ~ .yck-nav {
		border-radius: var(--jtc-radius);
		overflow-x: auto;
	}

	.yck-nav-check:checked ~ .yck-user {
		justify-content: flex-start;
		background: var(--jtc-surface);
		border: 1px solid var(--jtc-line);
		border-radius: var(--jtc-radius);
		padding: 10px;
	}

	.yck-hero {
		min-height: 540px;
		padding: 28px;
	}

	.yck-hero::before {
		background: linear-gradient(180deg, rgba(255, 252, 245, .98) 0%, rgba(255, 250, 243, .94) 40%, rgba(255, 250, 243, .62) 58%, rgba(255, 250, 243, .06) 82%);
	}

	.yck-hero-image {
		inset: auto 0 0;
		width: 100%;
		height: 58%;
		object-position: 54% center;
	}

	.yck-hero-copy {
		min-height: 250px;
		max-width: none;
		align-content: start;
	}

	.yck-recipe-hero {
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.yck-token-hero,
	.yck-history-hero,
	.yck-kitchen-hero,
	.yck-kitchen-grid,
	.yck-task-recipe {
		grid-template-columns: 1fr;
	}

	.yck-token-hero,
	.yck-history-hero,
	.yck-kitchen-hero {
		padding: 22px;
	}

	.yck-kitchen-avatars {
		justify-content: center;
	}

	.yck-history-recipes {
		grid-template-columns: 1fr;
	}

	.yck-recipe-hero-cover {
		order: -1;
		min-height: 260px;
	}

	.yck-recipe-hero h1 {
		font-size: 38px;
	}

	.yck-rich-step,
	.yck-rich-step:not(:has(img)) {
		grid-template-columns: 1fr;
	}

	.yck-step-index {
		width: 42px;
		height: 42px;
	}

	.yck-hero-copy h1 {
		font-size: 38px;
	}

	.yck-home-layout {
		display: block;
	}

	.yck-step-cards,
	.yck-value-grid,
	.yck-entry-grid,
	.yck-guest-entry {
		grid-template-columns: 1fr;
	}

	.yck-guest-actions {
		justify-content: stretch;
	}

	.yck-guest-actions a {
		flex: 1 1 180px;
	}

	.yck-recipe-grid {
		grid-template-columns: 1fr;
	}

	.yck-can-cook-mode-panel {
		grid-template-columns: 1fr;
	}

	.yck-can-cook-mode-actions {
		justify-content: stretch;
	}

	.yck-can-cook-mode-actions a {
		flex: 1 1 140px;
	}

	.yck-selected-panel {
		display: block;
		position: static;
		margin-top: 24px;
	}

	.yck-signature-dish-card {
		grid-template-columns: 1fr;
	}

	.yck-signature-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.yck-signature-actions a,
	.yck-signature-actions button,
	.yck-signature-empty a {
		width: 100%;
	}

	.yck-mobile-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9998;
		display: grid;
		grid-template-columns: minmax(126px, 1fr) auto minmax(118px, auto);
		align-items: center;
		gap: 12px;
		padding: 10px 12px;
		background: rgba(255, 253, 248, .96);
		border-top: 1px solid var(--jtc-line);
		box-shadow: 0 -10px 28px rgba(100, 61, 39, .12);
	}

	.yck-mobile-bar .yck-send {
		width: auto;
		margin: 0;
	}

	.yck-mobile-timing {
		gap: 6px;
	}

	.yck-mobile-timing label span {
		min-height: 38px;
		padding: 0 8px;
		font-size: 13px;
	}

	.yck-home {
		padding-bottom: 78px;
	}
}

@media (max-width: 430px) {
	.yck-site-header,
	.yck-home,
	.yck-content,
	.yck-recipe-page,
	.yck-token-task,
	.yck-token-invalid,
	.yck-history-page,
	.yck-kitchen-account,
	.yck-auth-page,
	.yck-site-footer {
		width: calc(100% - 12px);
	}

	.yck-site-header {
		padding: 10px 0;
	}

	.yck-brand strong {
		font-size: 18px;
	}

	.yck-hero {
		padding: 18px;
		gap: 16px;
		min-height: 520px;
	}

	.yck-hero-image {
		height: 54%;
		object-position: 52% center;
	}

	.yck-hero-copy h1 {
		font-size: 34px;
	}

	.yck-recipe-hero h1 {
		font-size: 32px;
	}

	.yck-cuisine-archive-head {
		padding: 18px;
	}

	.yck-cuisine-archive-head h1 {
		font-size: 30px;
	}

	.yck-recipe-hero,
	.yck-recipe-panel,
	.yck-recipe-actions,
	.yck-token-hero,
	.yck-token-message,
	.yck-token-actions,
	.yck-shopping-list,
	.yck-task-recipe,
	.yck-history-hero,
	.yck-history-card,
	.yck-history-empty,
	.yck-kitchen-hero,
	.yck-kitchen-card,
	.yck-kitchen-guest-card,
	.yck-auth-card {
		padding: 16px;
	}

	.yck-token-hero h1,
	.yck-history-hero h1,
	.yck-kitchen-hero h1,
	.yck-kitchen-guest-card h1 {
		font-size: 31px;
	}

	.yck-auth-card h1 {
		font-size: 30px;
	}

	.yck-profile-summary dl {
		grid-template-columns: 1fr;
	}

	.yck-kitchen-card-head {
		display: grid;
	}

	.yck-kitchen-edit,
	.yck-avatar-actions button,
	.yck-avatar-upload-button,
	.yck-kitchen-form-actions button {
		width: 100%;
	}

	.yck-avatar-manager {
		display: grid;
		justify-items: center;
		text-align: center;
	}

	.yck-avatar-actions {
		width: 100%;
		display: grid;
	}

	.yck-history-card-head {
		display: grid;
	}

	.yck-random-picker,
	.yck-random-controls,
	.yck-guest-actions {
		display: grid;
	}

	.yck-random-controls {
		justify-content: stretch;
	}

	.yck-random-controls button,
	.yck-random-actions button,
	.yck-modal-actions a,
	.yck-modal-actions button,
	.yck-guest-actions a,
	.yck-history-card-actions a,
	.yck-history-card-actions button {
		width: 100%;
		justify-content: center;
	}

	.yck-home-info {
		margin-top: 26px;
	}

	.yck-info-head h2,
	.yck-guest-entry h2 {
		font-size: 25px;
	}

	.yck-info-card,
	.yck-entry-card {
		min-height: auto;
		padding: 16px;
	}

	.yck-meal-plan-list {
		grid-template-columns: 1fr;
	}

	.yck-modal-actions,
	.yck-history-card-actions {
		display: grid;
		justify-content: stretch;
	}

	.yck-search {
		margin-top: 12px;
		padding: 8px 10px;
	}

	.yck-task-copy h2 {
		font-size: 22px;
	}

	.yck-status-actions {
		display: grid;
	}

	.yck-shopping-head,
	.yck-shopping-columns {
		display: grid;
	}

	.yck-shopping-head button {
		width: 100%;
	}

	.yck-recipe-actions {
		display: grid;
	}

	.yck-hero-copy > span {
		font-size: 16px;
	}

	.yck-hero-steps {
		gap: 8px;
	}

	.yck-hero-steps em {
		padding: 8px 10px;
	}

	.yck-card-body {
		padding: 13px;
	}

	.yck-site-footer {
		display: grid;
		padding-bottom: 88px;
	}
}
