.aop-plugin-shell {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.aop-plugin-shell--wide {
	width: min(1440px, calc(100vw - 2rem)) !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: translateX(var(--aop-shell-shift, 0));
}

.aop-plugin-shell--content { width: 100%; }
body.aula-aop-wide-page,
body.aula-aop-has-wide-shell { overflow-x: clip; }
body.aop-body-locked { overflow: hidden !important; }
body.aula-aop-wide-page .wp-block-shortcode,
body.aula-aop-wide-page .entry-content,
body.aula-aop-wide-page .wp-block-post-content { overflow: visible !important; }

@supports not (overflow: clip) {
	body.aula-aop-wide-page,
	body.aula-aop-has-wide-shell { overflow-x: hidden; }
}

.aop-app {
	--aop-ink: #17343a;
	--aop-muted: #587177;
	--aop-paper: #fffdf8;
	--aop-white: #fff;
	--aop-surface: #f6faf9;
	--aop-line: #cfe0dd;
	--aop-line-strong: #aacbc5;
	--aop-teal: #167e78;
	--aop-teal-dark: #0e625e;
	--aop-teal-soft: #dff3ef;
	--aop-coral: #df6b59;
	--aop-coral-soft: #fff0ec;
	--aop-gold: #e8a338;
	--aop-gold-soft: #fff4d7;
	--aop-blue: #3f79bc;
	--aop-blue-soft: #eaf2fc;
	--aop-violet: #7658a7;
	--aop-violet-soft: #f0ebf8;
	--aop-green: #438661;
	--aop-green-soft: #e8f4ec;
	--aop-danger: #a83d2b;
	--aop-focus: #f4bd45;
	--aop-shadow: 0 18px 55px rgba(31, 78, 80, .14);
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	max-width: 1380px;
	margin: 2rem auto 3rem;
	padding: 0;
	color: var(--aop-ink);
	background:
		radial-gradient(circle at 100% 0, rgba(232, 163, 56, .1), transparent 25%),
		radial-gradient(circle at 0 32%, rgba(22, 126, 120, .06), transparent 27%),
		var(--aop-paper);
	border: 1px solid var(--aop-line);
	border-radius: 30px;
	box-shadow: var(--aop-shadow);
	overflow: hidden;
	font: 500 16px/1.55 Inter, Aptos, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-rendering: optimizeLegibility;
}

.aop-app:fullscreen,
.aop-app.aop-app--expanded {
	width: 100vw !important;
	max-width: none !important;
	height: 100vh !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0;
	border-radius: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.aop-app.aop-app--expanded {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
}

.aop-app *,
.aop-app *::before,
.aop-app *::after { box-sizing: inherit; }
.aop-app [hidden] { display: none !important; }
.aop-app button,
.aop-app input,
.aop-app select,
.aop-app textarea { font: inherit; }
.aop-app button,
.aop-app input[type="checkbox"],
.aop-app select { cursor: pointer; }
.aop-app button:focus-visible,
.aop-app input:focus-visible,
.aop-app select:focus-visible,
.aop-app textarea:focus-visible,
.aop-app summary:focus-visible,
.aop-app [tabindex]:focus-visible {
	outline: 4px solid var(--aop-focus);
	outline-offset: 3px;
}
.aop-app h2,
.aop-app h3,
.aop-app p { margin-top: 0; }
.aop-app h2,
.aop-app h3 { color: var(--aop-ink); }
.aop-app svg { flex: none; }
.aop-icon {
	width: 1.25em;
	height: 1.25em;
	vertical-align: -.22em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.aop-visually-hidden,
.aop-sr-only,
.aop-live {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.aop-skip {
	position: absolute;
	top: .6rem;
	left: .6rem;
	z-index: 100;
	padding: .7rem 1rem;
	color: #fff !important;
	background: #111;
	border-radius: 10px;
	transform: translateY(-160%);
}
.aop-skip:focus { transform: none; }

.aop-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1rem, 2.8vw, 2rem);
	align-items: center;
	padding: clamp(1.45rem, 4vw, 3.15rem) clamp(1.2rem, 4.5vw, 4rem);
	background:
		radial-gradient(circle at 92% 8%, rgba(239, 168, 68, .24), transparent 30%),
		linear-gradient(110deg, #e8f7f4 0%, #fff9e9 100%);
	border-bottom: 1px solid var(--aop-line);
}
.aop-hero__mark {
	display: grid;
	width: clamp(68px, 8vw, 92px);
	height: clamp(68px, 8vw, 92px);
	color: #fff;
	background: var(--aop-teal);
	border: 4px solid rgba(255, 255, 255, .94);
	border-radius: 25px;
	box-shadow: 0 12px 28px rgba(22, 126, 120, .25);
	place-items: center;
	transform: rotate(-2deg);
}
.aop-hero__mark .aop-icon { width: 62%; height: 62%; stroke-width: 1.65; }
.aop-hero__copy { min-width: 0; }
.aop-eyebrow,
.aop-step-label {
	margin: 0 0 .25rem;
	color: var(--aop-teal-dark);
	font-size: .74rem;
	font-weight: 850;
	letter-spacing: .1em;
	line-height: 1.35;
	text-transform: uppercase;
}
.aop-hero h2 {
	margin: 0;
	font-size: clamp(2rem, 4.5vw, 3.7rem);
	font-weight: 875;
	letter-spacing: -.05em;
	line-height: 1.02;
}
.aop-hero__copy > p:not(.aop-eyebrow) {
	max-width: 820px;
	margin: .7rem 0 0;
	color: var(--aop-muted);
	font-size: clamp(1rem, 1.4vw, 1.13rem);
}
.aop-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-top: 1rem;
}
.aop-hero__chips span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: .28rem .65rem;
	color: var(--aop-teal-dark);
	background: rgba(255, 255, 255, .75);
	border: 1px solid #bfddd7;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 800;
}
.aop-icon-button {
	display: inline-flex;
	gap: .45rem;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .65rem .9rem;
	color: var(--aop-teal-dark);
	background: rgba(255, 255, 255, .78);
	border: 1px solid #b9d8d2;
	border-radius: 999px;
	font-weight: 800;
}

.aop-progress {
	padding: .85rem clamp(1rem, 4vw, 3rem);
	background: rgba(255, 255, 255, .94);
	border-bottom: 1px solid var(--aop-line);
}
.aop-progress ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 760px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.aop-progress li {
	position: relative;
	display: flex;
	gap: .55rem;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: .35rem .5rem;
	color: #7a8c90;
	font-size: .84rem;
}
.aop-progress li:not(:last-child)::after {
	position: absolute;
	top: 50%;
	right: -1px;
	width: 2px;
	height: 21px;
	background: var(--aop-line);
	content: "";
	transform: translateY(-50%);
}
.aop-progress li > span {
	display: grid;
	width: 29px;
	height: 29px;
	background: #edf3f2;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 850;
	place-items: center;
}
.aop-progress li.is-done,
.aop-progress li.is-current { color: var(--aop-ink); }
.aop-progress li.is-done > span { color: var(--aop-teal-dark); background: var(--aop-teal-soft); }
.aop-progress li.is-current > span { color: #fff; background: var(--aop-teal); box-shadow: 0 0 0 4px rgba(22, 126, 120, .13); }

.aop-alert {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	margin: 1rem clamp(1rem, 4vw, 3rem) 0;
	padding: .85rem 1rem;
	color: #792f24;
	background: #fff0ec;
	border: 1px solid #efb6ac;
	border-radius: 13px;
	font-weight: 700;
}
.aop-alert .aop-icon { margin-top: .1rem; color: var(--aop-danger); }
.aop-fatal { margin: 1.5rem; padding: 1rem; color: #7b2c20; background: #fff0ec; border: 1px solid #efb6ac; border-radius: 14px; }
.aop-fatal p { margin: .3rem 0 0; }

.aop-builder {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr);
	gap: clamp(1rem, 2.6vw, 2rem);
	align-items: start;
	padding: clamp(1rem, 3.2vw, 2.8rem);
}
.aop-config { display: grid; gap: 1rem; min-width: 0; }
.aop-panel,
.aop-advanced,
.aop-preview-panel {
	background: rgba(255, 255, 255, .94);
	border: 1px solid var(--aop-line);
	border-radius: 22px;
	box-shadow: 0 9px 28px rgba(31, 78, 80, .07);
}
.aop-panel { padding: clamp(1rem, 2.6vw, 1.65rem); }
.aop-panel__heading {
	display: flex;
	gap: .8rem;
	align-items: center;
	margin-bottom: 1.15rem;
}
.aop-panel__heading h3,
.aop-preview-panel__top h3 {
	margin: 0;
	font-size: clamp(1.15rem, 2vw, 1.48rem);
	letter-spacing: -.025em;
	line-height: 1.2;
}
.aop-step-number {
	display: grid;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	color: #fff;
	background: var(--aop-teal);
	border-radius: 12px;
	font-weight: 900;
	place-items: center;
}

.aop-course-picker,
.aop-operation-picker,
.aop-format-picker {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.aop-operation-picker > legend,
.aop-format-picker > legend {
	margin-bottom: .65rem;
	color: var(--aop-muted);
	font-size: .83rem;
	font-weight: 800;
}
.aop-course-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(68px, 1fr));
	gap: .55rem;
}
.aop-course-button {
	display: grid;
	gap: .05rem;
	min-height: 67px;
	padding: .5rem .3rem;
	color: var(--aop-muted);
	background: #fff;
	border: 2px solid var(--aop-line);
	border-radius: 14px;
	place-content: center;
}
.aop-course-button strong { color: var(--aop-ink); font-size: 1.12rem; }
.aop-course-button span { font-size: .69rem; font-weight: 750; }
.aop-course-button:hover { border-color: var(--aop-line-strong); transform: translateY(-1px); }
.aop-course-button.is-selected {
	color: var(--aop-teal-dark);
	background: var(--aop-teal-soft);
	border-color: var(--aop-teal);
	box-shadow: 0 0 0 3px rgba(22, 126, 120, .1);
}
.aop-course-note {
	display: flex;
	gap: .75rem;
	align-items: flex-start;
	margin-top: .9rem;
	padding: .85rem .9rem;
	background: linear-gradient(110deg, #f0f8f6, #fffaf0);
	border: 1px solid #d5e6e2;
	border-radius: 14px;
}
.aop-course-note > span {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	color: var(--aop-teal-dark);
	background: #fff;
	border: 1px solid #c9dfda;
	border-radius: 10px;
	place-items: center;
}
.aop-course-note p { margin: .15rem 0 .2rem; color: var(--aop-muted); font-size: .88rem; }
.aop-course-note small { color: #6d7f83; font-size: .76rem; }

.aop-preset-row {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-bottom: 1rem;
}
.aop-preset,
.aop-custom-state {
	display: inline-flex;
	gap: .35rem;
	align-items: center;
	min-height: 38px;
	padding: .45rem .72rem;
	color: var(--aop-muted);
	background: #f7faf9;
	border: 1px solid var(--aop-line);
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 800;
}
.aop-preset.is-selected,
.aop-preset:hover { color: var(--aop-teal-dark); background: var(--aop-teal-soft); border-color: #9dcfc6; }
.aop-custom-state { opacity: .55; }
.aop-custom-state.is-active { color: #5c4389; background: var(--aop-violet-soft); border-color: #cdbde4; opacity: 1; }
.aop-custom-state .aop-icon { width: 1em; height: 1em; }

.aop-operation-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
}
.aop-operation-option {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: .65rem;
	align-items: center;
	min-height: 72px;
	padding: .7rem;
	background: #fff;
	border: 2px solid var(--aop-line);
	border-radius: 15px;
	cursor: pointer;
}
.aop-operation-option input {
	position: absolute;
	top: .45rem;
	right: .45rem;
	width: 17px;
	height: 17px;
	accent-color: var(--aop-teal);
}
.aop-operation-option__icon {
	display: grid;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	font-size: 1.2rem;
	font-weight: 900;
	place-items: center;
}
.aop-operation-option strong { display: block; padding-right: .8rem; font-size: .88rem; }
.aop-operation-option small { display: block; margin-top: .08rem; color: var(--aop-muted); font-size: .66rem; line-height: 1.25; }
.aop-operation-option.is-blue .aop-operation-option__icon { color: #245e9e; background: var(--aop-blue-soft); }
.aop-operation-option.is-coral .aop-operation-option__icon { color: #a74738; background: var(--aop-coral-soft); }
.aop-operation-option.is-violet .aop-operation-option__icon { color: #5e438c; background: var(--aop-violet-soft); }
.aop-operation-option.is-green .aop-operation-option__icon { color: #2f6d4a; background: var(--aop-green-soft); }
.aop-operation-option:has(input:checked) { border-color: var(--aop-teal); box-shadow: 0 0 0 3px rgba(22, 126, 120, .08); }

.aop-format-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
	margin-bottom: 1rem;
}
.aop-format-option {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	gap: .1rem .55rem;
	align-content: center;
	min-height: 92px;
	padding: .72rem;
	color: var(--aop-ink);
	text-align: left;
	background: #fff;
	border: 2px solid var(--aop-line);
	border-radius: 15px;
}
.aop-format-option > span {
	display: grid;
	grid-row: 1 / 3;
	width: 35px;
	height: 35px;
	color: var(--aop-teal-dark);
	background: var(--aop-teal-soft);
	border-radius: 10px;
	place-items: center;
}
.aop-format-option strong { align-self: end; font-size: .84rem; line-height: 1.2; }
.aop-format-option small { color: var(--aop-muted); font-size: .65rem; line-height: 1.25; }
.aop-format-option:hover,
.aop-format-option.is-selected { border-color: var(--aop-teal); }
.aop-format-option.is-selected { background: #f3fbf9; box-shadow: 0 0 0 3px rgba(22, 126, 120, .08); }

.aop-fields {
	display: grid;
	gap: .8rem;
	align-items: start;
}
.aop-fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aop-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aop-fields + .aop-fields { margin-top: .8rem; }
.aop-field {
	display: grid;
	gap: .3rem;
	min-width: 0;
	color: var(--aop-ink);
}
.aop-field > span { font-size: .79rem; font-weight: 850; }
.aop-field select,
.aop-field input,
.aop-field textarea {
	width: 100%;
	min-height: 45px;
	padding: .62rem .72rem;
	color: var(--aop-ink);
	background: #fff;
	border: 2px solid #bad0cb;
	border-radius: 11px;
}
.aop-field textarea { min-height: 84px; resize: vertical; }
.aop-field small { color: var(--aop-muted); font-size: .69rem; line-height: 1.35; }
.aop-field--muted {
	min-height: 93px;
	padding: .55rem .7rem;
	color: var(--aop-muted);
	background: #f5f7f7;
	border: 1px dashed #c8d4d2;
	border-radius: 11px;
}
.aop-field--muted strong { font-size: .85rem; }

.aop-advanced { overflow: hidden; }
.aop-advanced summary {
	display: flex;
	gap: .75rem;
	align-items: center;
	min-height: 62px;
	padding: .85rem 1.1rem;
	background: #f6faf9;
	cursor: pointer;
	list-style: none;
}
.aop-advanced summary::-webkit-details-marker { display: none; }
.aop-advanced summary::after {
	margin-left: auto;
	color: var(--aop-teal-dark);
	content: "+";
	font-size: 1.45rem;
	font-weight: 700;
}
.aop-advanced[open] summary::after { content: "−"; }
.aop-advanced summary > .aop-icon { width: 1.4rem; height: 1.4rem; color: var(--aop-teal-dark); }
.aop-advanced summary span { display: grid; }
.aop-advanced summary small { color: var(--aop-muted); font-size: .72rem; }
.aop-advanced__body { padding: 1.15rem; border-top: 1px solid var(--aop-line); }
.aop-check-stack { display: grid; gap: .45rem; }
.aop-check {
	display: block;
	position: relative;
	cursor: pointer;
}
.aop-check > input {
	position: absolute;
	top: .8rem;
	right: .75rem;
	width: 18px;
	height: 18px;
	accent-color: var(--aop-teal);
}
.aop-check > span {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .05rem .55rem;
	min-height: 60px;
	padding: .65rem 2.45rem .65rem .65rem;
	background: #f8fbfa;
	border: 1px solid var(--aop-line);
	border-radius: 11px;
}
.aop-check > span .aop-icon { grid-row: 1 / 3; margin-top: .1rem; color: var(--aop-teal-dark); }
.aop-check strong { font-size: .78rem; }
.aop-check small { color: var(--aop-muted); font-size: .65rem; line-height: 1.28; }
.aop-check:has(input:checked) > span { background: #f1faf7; border-color: #aed6ce; }
.aop-advanced__footer {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1rem;
	padding-top: .9rem;
	border-top: 1px solid var(--aop-line);
}
.aop-advanced__footer > span { color: var(--aop-muted); font-size: .7rem; }
.aop-advanced__footer kbd { padding: .08rem .25rem; background: #f1f4f3; border: 1px solid #c8d2d0; border-radius: 4px; box-shadow: 0 1px 0 #b7c4c1; font: 700 .68rem/1.2 ui-monospace, monospace; }

.aop-preview-panel {
	position: sticky;
	top: 1rem;
	min-width: 0;
	padding: 1rem;
}
.aop-preview-panel__top {
	display: flex;
	gap: .8rem;
	align-items: center;
	justify-content: space-between;
	padding: .15rem .15rem .8rem;
}
.aop-ready-badge {
	display: inline-flex;
	gap: .3rem;
	align-items: center;
	min-height: 31px;
	padding: .3rem .55rem;
	color: #7a6550;
	background: #fff6e7;
	border: 1px solid #ead2ad;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 850;
}
.aop-ready-badge.is-ready { color: var(--aop-teal-dark); background: var(--aop-teal-soft); border-color: #a7d2ca; }
.aop-ready-badge .aop-icon { width: 1em; height: 1em; }

.aop-summary {
	padding: .85rem;
	background: linear-gradient(135deg, #f0f8f6, #fffaf0);
	border: 1px solid #d4e4e1;
	border-radius: 15px;
}
.aop-summary__hero { display: flex; gap: .7rem; align-items: center; }
.aop-summary__hero > span {
	display: grid;
	flex: 0 0 43px;
	width: 43px;
	height: 43px;
	color: #fff;
	background: var(--aop-teal);
	border-radius: 12px;
	font-size: 1.05rem;
	font-weight: 900;
	place-items: center;
}
.aop-summary__hero div { display: grid; min-width: 0; }
.aop-summary__hero strong { font-size: .87rem; }
.aop-summary__hero small { color: var(--aop-muted); font-size: .7rem; }
.aop-summary__counts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .35rem;
	margin-top: .7rem;
}
.aop-summary__counts span {
	display: flex;
	gap: .38rem;
	align-items: center;
	padding: .35rem .45rem;
	background: rgba(255, 255, 255, .82);
	border: 1px solid #dce7e5;
	border-radius: 9px;
	font-size: .68rem;
}
.aop-summary__counts b { display: grid; width: 23px; height: 23px; border-radius: 7px; place-items: center; }
.aop-summary__counts .is-blue b { color: #245e9e; background: var(--aop-blue-soft); }
.aop-summary__counts .is-coral b { color: #a74738; background: var(--aop-coral-soft); }
.aop-summary__counts .is-violet b { color: #5e438c; background: var(--aop-violet-soft); }
.aop-summary__counts .is-green b { color: #2f6d4a; background: var(--aop-green-soft); }
.aop-summary__meta { display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin-top: .7rem; color: var(--aop-muted); font-size: .67rem; }
.aop-summary__meta span { display: inline-flex; gap: .22rem; align-items: center; }
.aop-summary__meta .aop-icon { width: 1em; height: 1em; }
.aop-advisories { margin-top: .7rem; padding-top: .65rem; border-top: 1px solid #d7e3e0; }
.aop-advisories strong { color: #765e39; font-size: .7rem; }
.aop-advisories ul { margin: .25rem 0 0; padding-left: 1rem; color: #6b654e; font-size: .64rem; line-height: 1.35; }
.aop-dirty-note {
	display: flex;
	gap: .45rem;
	align-items: flex-start;
	margin-top: .7rem;
	padding: .65rem .7rem;
	color: #765e39;
	background: var(--aop-gold-soft);
	border: 1px solid #ead19f;
	border-radius: 11px;
	font-size: .7rem;
	font-weight: 700;
}
.aop-dirty-note .aop-icon { margin-top: .05rem; }

.aop-preview-empty {
	display: grid;
	min-height: 300px;
	margin-top: .8rem;
	padding: 2rem 1rem;
	color: var(--aop-muted);
	text-align: center;
	background: #f7faf9;
	border: 2px dashed #c6d8d4;
	border-radius: 16px;
	place-content: center;
}
.aop-preview-empty .aop-icon { width: 45px; height: 45px; margin: 0 auto .65rem; color: #83aaa3; }
.aop-preview-empty strong { color: var(--aop-ink); }
.aop-preview-empty p { max-width: 270px; margin: .35rem auto 0; font-size: .82rem; }

.aop-paper-preview {
	position: relative;
	margin-top: .8rem;
	padding: .8rem;
	background: #fff;
	border: 1px solid #cbd6d4;
	border-radius: 5px;
	box-shadow: 0 11px 25px rgba(23, 52, 58, .12);
}
.aop-paper-preview::before,
.aop-paper-preview::after {
	position: absolute;
	z-index: -1;
	inset: 4px -3px -4px 3px;
	background: #f8f8f5;
	border: 1px solid #d9dfdd;
	border-radius: 5px;
	content: "";
	transform: rotate(.35deg);
}
.aop-paper-preview::after { inset: 7px -5px -7px 5px; transform: rotate(.65deg); }
.aop-paper-preview__header { display: flex; gap: .5rem; align-items: start; justify-content: space-between; padding-bottom: .5rem; border-bottom: 2px solid var(--aop-teal); }
.aop-paper-preview__header div { display: grid; }
.aop-paper-preview__header small { color: var(--aop-teal-dark); font-size: .45rem; font-weight: 900; letter-spacing: .09em; }
.aop-paper-preview__header strong { font-size: .78rem; }
.aop-paper-preview__header > span { padding: .16rem .3rem; color: var(--aop-teal-dark); background: var(--aop-teal-soft); border-radius: 5px; font-size: .48rem; font-weight: 800; }
.aop-paper-preview__fields { display: grid; grid-template-columns: auto 1fr auto .45fr; gap: .25rem; align-items: end; margin: .45rem 0; color: #64767a; font-size: .45rem; }
.aop-paper-preview__fields i { height: 1px; background: #aebcba; }
.aop-paper-preview__items { display: grid; gap: .35rem; }
.aop-paper-preview__more { margin: .5rem 0 0; color: var(--aop-muted); text-align: center; font-size: .5rem; font-weight: 750; }

.aop-preview-exercise {
	position: relative;
	min-width: 0;
	padding: .35rem .35rem .35rem 1.55rem;
	background: #fff;
	border: 1px solid #cdd9d7;
	border-radius: 6px;
	overflow: hidden;
}
.aop-preview-exercise__number {
	position: absolute;
	top: .32rem;
	left: .32rem;
	display: grid;
	width: 16px;
	height: 16px;
	color: #fff;
	background: var(--aop-teal);
	border-radius: 99px;
	font-size: .46rem;
	font-weight: 850;
	place-items: center;
}
.aop-preview-exercise.is-blue .aop-preview-exercise__number { background: var(--aop-blue); }
.aop-preview-exercise.is-coral .aop-preview-exercise__number { background: var(--aop-coral); }
.aop-preview-exercise.is-violet .aop-preview-exercise__number { background: var(--aop-violet); }
.aop-preview-exercise.is-green .aop-preview-exercise__number { background: var(--aop-green); }
.aop-mini-abn > strong { display: block; margin-bottom: .2rem; font: 800 .58rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; }
.aop-mini-abn table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.aop-mini-abn th,
.aop-mini-abn td { height: 17px; padding: 1px; border: 1px solid #91aaa5; text-align: center; }
.aop-mini-abn th { height: 15px; color: #355d59; background: #e7f3f0; font-size: .37rem; line-height: 1.05; }
.aop-mini-abn small { display: block; margin-top: .1rem; color: var(--aop-muted); font-size: .4rem; }
.aop-mini-traditional {
	display: grid;
	min-height: 84px;
	padding: .3rem;
	background-color: #fff;
	background-image: linear-gradient(#d5e4eb 1px, transparent 1px), linear-gradient(90deg, #d5e4eb 1px, transparent 1px);
	background-size: 14px 14px;
	place-items: start end;
}
.aop-mini-stack { display: grid; justify-items: end; min-width: 76px; padding: .15rem .25rem; background: rgba(255, 255, 255, .74); }
.aop-mini-stack code { display: flex; gap: .35rem; justify-content: space-between; min-width: 100%; color: var(--aop-ink); font: 800 .72rem/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; }
.aop-mini-stack code:first-child { justify-content: flex-end; }
.aop-mini-stack i { width: 100%; height: 1.5px; margin: .1rem 0; background: var(--aop-ink); }
.aop-mini-stack em { width: 70%; height: 9px; border-bottom: 1px dotted #95aaa7; }
.aop-mini-stack em.is-result { width: 90%; height: 12px; }
.aop-mini-traditional--division { place-items: start stretch; }
.aop-mini-division { display: grid; grid-template-columns: 55% 45%; align-items: start; min-height: 68px; padding: .25rem; background: rgba(255, 255, 255, .76); font: 800 .7rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.aop-mini-division > strong { padding-right: .35rem; text-align: right; }
.aop-mini-division > div { min-height: 45px; padding-left: .35rem; border-left: 2px solid var(--aop-ink); }
.aop-mini-division b { display: block; padding-bottom: .15rem; border-bottom: 2px solid var(--aop-ink); }
.aop-mini-division i { display: block; height: 25px; }
.aop-mini-bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, .75fr); gap: .25rem; align-items: center; }
.aop-mini-bridge > span { color: var(--aop-teal); font-size: .7rem; font-weight: 900; }
.aop-mini-bridge .aop-mini-abn th,
.aop-mini-bridge .aop-mini-abn td { height: 14px; }
.aop-mini-bridge .aop-mini-traditional { min-height: 72px; }

.aop-preview-actions { display: grid; gap: .5rem; margin-top: .85rem; }
.aop-button {
	display: inline-flex;
	gap: .45rem;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: .65rem .9rem;
	color: var(--aop-ink);
	background: #fff;
	border: 1px solid var(--aop-line-strong);
	border-radius: 12px;
	font-weight: 850;
	text-decoration: none;
}
.aop-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(23, 52, 58, .12); }
.aop-button:disabled { cursor: not-allowed; opacity: .46; }
.aop-button--primary { color: #fff; background: var(--aop-teal); border-color: var(--aop-teal); }
.aop-button--secondary { color: var(--aop-teal-dark); background: var(--aop-teal-soft); border-color: #9dccC4; }
.aop-button--download { color: #fff; background: var(--aop-ink); border-color: var(--aop-ink); }
.aop-button--quiet { min-height: 39px; padding: .45rem .65rem; color: var(--aop-teal-dark); background: #f4faf8; font-size: .76rem; }
.aop-private-note { display: flex; gap: .35rem; align-items: flex-start; margin: .7rem .2rem 0; color: var(--aop-muted); font-size: .65rem; }
.aop-private-note .aop-icon { margin-top: .08rem; }

.aop-resource-info {
	width: min(1120px, calc(100% - 2rem));
	margin: 2rem auto 4rem;
	color: #264147;
	font: 500 16px/1.65 Inter, Aptos, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.aop-resource-info h2,
.aop-resource-info h3 { color: #17343a; }
.aop-resource-info__intro,
.aop-resource-info__evidence,
.aop-resource-info__privacy,
.aop-resource-info__faq { padding: clamp(1.1rem, 3vw, 2rem); background: #fffefa; border: 1px solid #d4e2df; border-radius: 20px; }
.aop-resource-info__eyebrow { margin: 0 0 .35rem; color: #0e625e; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.aop-resource-info__intro h2 { margin: 0 0 .8rem; font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.15; }
.aop-resource-info__features,
.aop-resource-info__cycles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.aop-resource-info__features article,
.aop-resource-info__cycles article { padding: 1.2rem; background: #f3f8f7; border: 1px solid #d3e3e0; border-radius: 17px; }
.aop-resource-info__features h3,
.aop-resource-info__cycles h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.aop-resource-info__features p,
.aop-resource-info__cycles p { margin: 0; color: #577076; font-size: .91rem; }
.aop-resource-info__evidence,
.aop-resource-info__privacy { margin-bottom: 1rem; }
.aop-resource-info__faq details { border-top: 1px solid #d7e3e1; }
.aop-resource-info__faq details:last-child { border-bottom: 1px solid #d7e3e1; }
.aop-resource-info__faq summary { padding: .9rem .2rem; cursor: pointer; font-weight: 800; }
.aop-resource-info__faq details p { padding: 0 .2rem .9rem; margin: 0; color: #577076; }

@media (max-width: 1120px) {
	.aop-builder { grid-template-columns: minmax(0, 1fr); }
	.aop-preview-panel { position: static; }
	.aop-paper-preview__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aop-preview-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aop-course-grid { grid-template-columns: repeat(6, minmax(58px, 1fr)); }
}

@media (max-width: 860px) {
	.aop-plugin-shell--wide { width: calc(100vw - 1rem) !important; }
	.aop-app { margin: 1rem auto 2rem; border-radius: 22px; }
	.aop-hero { grid-template-columns: auto minmax(0, 1fr); }
	.aop-hero .aop-icon-button { grid-column: 1 / -1; justify-self: start; }
	.aop-operation-grid,
	.aop-format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aop-fields--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aop-resource-info__features,
	.aop-resource-info__cycles { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.aop-plugin-shell--wide { width: calc(100vw - .5rem) !important; }
	.aop-app { margin: .5rem auto 1.5rem; border-radius: 18px; font-size: 15px; }
	.aop-hero { grid-template-columns: 58px minmax(0, 1fr); gap: .8rem; padding: 1.15rem; }
	.aop-hero__mark { width: 58px; height: 58px; border-radius: 18px; }
	.aop-hero h2 { font-size: clamp(1.65rem, 9vw, 2.25rem); }
	.aop-hero__copy > p:not(.aop-eyebrow) { font-size: .88rem; }
	.aop-hero__chips { display: none; }
	.aop-progress { padding: .65rem .45rem; }
	.aop-progress li { gap: .3rem; padding: .25rem; font-size: .7rem; }
	.aop-progress li > span { width: 25px; height: 25px; }
	.aop-builder { padding: .65rem; }
	.aop-panel { padding: .85rem; border-radius: 17px; }
	.aop-course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aop-course-button { min-height: 58px; }
	.aop-operation-grid,
	.aop-format-grid,
	.aop-fields--two,
	.aop-fields--three { grid-template-columns: 1fr; }
	.aop-operation-option { min-height: 62px; }
	.aop-format-option { min-height: 76px; }
	.aop-advanced__footer { align-items: flex-start; flex-direction: column; }
	.aop-paper-preview__items { grid-template-columns: 1fr; }
	.aop-preview-actions { grid-template-columns: 1fr; }
	.aop-mini-bridge { grid-template-columns: 1fr; }
	.aop-mini-bridge > span { justify-self: center; transform: rotate(90deg); }
	.aop-resource-info { width: calc(100% - 1rem); }
}

@media (prefers-reduced-motion: no-preference) {
	.aop-course-button,
	.aop-format-option,
	.aop-operation-option,
	.aop-button { transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background-color .16s ease; }
}

@media (forced-colors: active) {
	.aop-course-button.is-selected,
	.aop-format-option.is-selected,
	.aop-operation-option:has(input:checked) { outline: 3px solid CanvasText; }
	.aop-mini-traditional { background: Canvas; }
}

@media print {
	.aop-app { box-shadow: none; }
	.aop-icon-button { display: none !important; }
}
