.cheesexml-public {
	--cx-bg: #14110e; --cx-panel: #1d1813; --cx-panel-2: #241d16; --cx-line: rgba(224, 138, 60, .22);
	--cx-text: #ece3d6; --cx-muted: #a4998a; --cx-copper: #e08a3c; --cx-alarm: #ff5c5c;
	--cx-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	--cx-sans: "Segoe UI", "Helvetica Neue", "PT Sans", sans-serif;
	max-width: 72rem; margin: 2rem auto; padding: 0 1rem; color: var(--cx-text); font-family: var(--cx-sans); line-height: 1.35; box-sizing: border-box;
}
.cheesexml-public *, .cheesexml-public *::before, .cheesexml-public *::after { box-sizing: inherit; }
.cheesexml-public h1 { margin: 0 0 1rem; color: var(--cx-text); font: 700 2.25rem/1.1 var(--cx-sans); }
.cheesexml-public h2 { color: var(--cx-text); font: 700 1.5rem/1.15 var(--cx-sans); }
.cheesexml-public h3 { color: var(--cx-text); }
.cheesexml-public a, .cheesexml-public a:visited { color: var(--cx-copper); }
.cheesexml-public nav { color: var(--cx-muted); }
.cheesexml-public > nav { padding: 1rem; background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px; }
.cheesexml-public label { color: var(--cx-muted); font-size: .875rem; }
.cheesexml-public input, .cheesexml-public select, .cheesexml-public textarea {
	width: 100%; min-width: 0; padding: .6rem .75rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: 8px;
	background: rgba(0, 0, 0, .35); color: var(--cx-text); font: 500 .95rem/1.25 var(--cx-sans); box-shadow: none;
}
.cheesexml-public input:focus, .cheesexml-public select:focus, .cheesexml-public textarea:focus { border-color: var(--cx-copper); outline: none; }
.cheesexml-public textarea, .cheesexml-public pre, .cheesexml-public code { font-family: var(--cx-mono); }
.cheesexml-public button {
	min-height: 38px; padding: .6rem 1rem; border: 1px solid transparent; border-radius: 8px;
	background: linear-gradient(180deg, #f0a054, var(--cx-copper)); color: #1a120a; font: 600 .85rem/1.2 var(--cx-sans); cursor: pointer;
}
.cheesexml-public button:hover:not(:disabled) { background: linear-gradient(180deg, #ffb063, #f09648); }
.cheesexml-public button:disabled { opacity: .38; cursor: not-allowed; }
.cheesexml-filters, .cheesexml-recipes { display: grid; gap: 1rem; }
.cheesexml-filters {
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); align-items: end; margin-bottom: 1rem; padding: 1rem;
	background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px;
}
.cheesexml-filters label { display: grid; gap: .35rem; }
.cheesexml-recipe-card, .cheesexml-recipe-section, .cheesexml-specification section, [data-cheesexml-editor], [data-cheesexml-calculators], [data-cheesexml-journals], [data-cheesexml-cabinet] > section {
	position: relative; padding: 1rem; background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px;
}
.cheesexml-recipe-card::before, .cheesexml-recipe-section::before, .cheesexml-specification section::before {
	content: ""; position: absolute; top: 0; right: 1rem; left: 1rem; height: 2px; background: linear-gradient(90deg, var(--cx-copper), transparent); opacity: .8;
}
.cheesexml-recipe-card h2 { margin: 0 0 .65rem; font-size: 1.25rem; }
.cheesexml-recipe-card p { margin: .25rem 0; color: var(--cx-muted); }
.cheesexml-pagination { display: flex; gap: 1rem; margin-top: 1rem; }
.cheesexml-recipe-section, .cheesexml-specification section { margin-top: 1rem; }
.cheesexml-recipe-details { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem 1rem; }
.cheesexml-recipe-details dt { font-weight: 600; }
.cheesexml-recipe-details dd { margin: 0; }
.cheesexml-recipe-list, .cheesexml-process { display: grid; gap: .75rem; }
.cheesexml-process h3 { margin-bottom: .25rem; }
.cheesexml-process p { margin: .25rem 0; }
.cheesexml-parameters { font-family: var(--cx-mono); color: var(--cx-copper); }
.cheesexml-muted { color: var(--cx-muted); }
.cheesexml-specification pre, .cheesexml-public pre { overflow: auto; padding: 1rem; background: #0b0908; border: 1px solid var(--cx-line); border-radius: 8px; color: var(--cx-text); }
.cheesexml-specification code { white-space: pre-wrap; }
.cheesexml-spec-table { width: 100%; border-collapse: collapse; background: transparent; }
.cheesexml-spec-table th, .cheesexml-spec-table td { padding: .65rem; border-bottom: 1px solid rgba(255, 255, 255, .08); text-align: left; vertical-align: top; }
.cheesexml-spec-table th { color: var(--cx-copper); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.cheesexml-public[data-cheesexml-editor] { display: grid; gap: .75rem; }
.cheesexml-public[data-cheesexml-calculators] { display: grid; gap: 1rem; }
.cheesexml-public [data-cheesexml-cabinet] { display: grid; gap: 1rem; }
.cheesexml-token-status { margin-top: 1rem; }
.cheesexml-page-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.cheesexml-start-path, .cheesexml-workshop { display: grid; gap: 1rem; padding: 0; }
.cheesexml-start-path li, .cheesexml-workshop section, [data-calculator-form] { padding: 1rem; background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px; }
.cheesexml-editor-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .75rem; }
.cheesexml-editor-fields label { display: grid; gap: .35rem; }
.cheesexml-technical code { overflow-wrap: anywhere; }
.cheesexml-account { display: grid; gap: 1rem; }
.cheesexml-account-tabs { display: flex; gap: .5rem; overflow-x: auto; padding: .35rem; background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px; }
.cheesexml-account-tabs button { flex: 0 0 auto; background: transparent; border-color: transparent; color: var(--cx-muted); }
.cheesexml-account-tabs button[aria-selected="true"] { background: var(--cx-panel-2); border-color: var(--cx-line); color: var(--cx-copper); }
.cheesexml-account-panel { padding: 1.25rem; background: var(--cx-panel); border: 1px solid var(--cx-line); border-radius: 12px; }
.cheesexml-account-heading { display: flex; gap: 1rem; align-items: start; justify-content: space-between; margin-bottom: 1rem; }
.cheesexml-account-heading h2, .cheesexml-account-heading h3, .cheesexml-account-heading p { margin: 0; }
.cheesexml-account-heading p { margin-top: .35rem; color: var(--cx-muted); }
.cheesexml-account-columns { display: grid; grid-template-columns: minmax(14rem, .75fr) minmax(0, 1.5fr); gap: 1rem; }
.cheesexml-account-columns > section, .cheesexml-account-panel > section { min-width: 0; }
.cheesexml-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.cheesexml-form-grid label { display: grid; gap: .35rem; }
.cheesexml-form-grid fieldset { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 1rem; border: 1px solid var(--cx-line); border-radius: 8px; }
.cheesexml-form-grid legend { padding: 0 .4rem; color: var(--cx-copper); font-weight: 600; }
.cheesexml-form-grid fieldset label { display: grid; gap: .35rem; }
.cheesexml-span-all { grid-column: 1 / -1; }
.cheesexml-form-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin: 0; }
.cheesexml-card-list, .cheesexml-timeline { display: grid; gap: .5rem; padding: 0; list-style: none; }
.cheesexml-card-list li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 8px; background: rgba(0, 0, 0, .16); }
.cheesexml-card-list li > span, .cheesexml-timeline li { color: var(--cx-muted); font-size: .875rem; }
.cheesexml-card-list button { min-height: 32px; padding: .35rem .55rem; background: transparent; border-color: var(--cx-line); color: var(--cx-text); text-align: left; }
.cheesexml-card-list button:hover:not(:disabled) { background: var(--cx-panel-2); color: var(--cx-copper); }
.cheesexml-account [data-journal-detail] { display: grid; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--cx-line); }
.cheesexml-account [data-journal-detail] h4 { margin: 0 0 .5rem; color: var(--cx-copper); }
.cheesexml-account [data-journal-plan], .cheesexml-account [data-merge-result] { padding: .75rem; background: var(--cx-panel-2); border-radius: 8px; }
.cheesexml-account input[type="checkbox"] { width: auto; margin-right: .3rem; }
@media (max-width: 720px) {
	.cheesexml-public { margin: 1.25rem auto; padding: 0 .75rem; }
	.cheesexml-public h1 { font-size: 1.8rem; }
	.cheesexml-filters { grid-template-columns: 1fr; }
	.cheesexml-recipe-details { grid-template-columns: 1fr; gap: .2rem; }
	.cheesexml-recipe-details dd { margin-bottom: .6rem; }
	.cheesexml-specification section { overflow-x: auto; }
	.cheesexml-account-panel { padding: 1rem; }
	.cheesexml-account-heading { align-items: stretch; flex-direction: column; }
	.cheesexml-account-columns, .cheesexml-form-grid { grid-template-columns: 1fr; }
	.cheesexml-form-grid fieldset { grid-template-columns: 1fr; }
	.cheesexml-span-all { grid-column: auto; }
	.cheesexml-card-list li { align-items: stretch; flex-direction: column; }
}
