/* Standalone License page. Core owns every license rule; this file is presentation only. */
.cika-license-page {
	max-width: 100%;
	overflow-x: clip;
	background: var(--cika-color-void);
	color: var(--cika-color-white);
}

.cika-license-page :where(h1, h2, h3, p) { margin-top: 0; }

.cika-license-page__body {
	padding-block: clamp(3rem, 6vw, 7rem) clamp(4rem, 8vw, 8rem);
}

.cika-license-eyebrow,
.cika-license-badge {
	margin-bottom: var(--cika-space-2);
	color: var(--cika-color-accent-2);
	font-family: var(--cika-font-mono);
	font-size: var(--cika-text-xs);
	font-weight: 800;
	letter-spacing: var(--cika-tracking-wide);
	text-transform: uppercase;
}

.cika-license-button,
.cika-license-card > a,
.cika-license-agreement,
.cika-license-help article a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--cika-space-3);
	min-height: 3.25rem;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--cika-color-accent);
	color: var(--cika-color-accent);
	font-family: var(--cika-font-mono);
	font-size: var(--cika-text-xs);
	font-weight: 900;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.cika-license-button--primary {
	background: var(--cika-color-accent);
	color: var(--cika-color-accent-contrast);
}

.cika-license-button:hover,
.cika-license-card > a:hover,
.cika-license-agreement:hover,
.cika-license-help article a:hover {
	background: var(--cika-color-accent);
	color: var(--cika-color-accent-contrast);
}

.cika-license-icon {
	display: inline-block;
	flex: 0 0 1.2rem;
	width: 1.2rem;
	height: 1.2rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.cika-license-icon--monitor { -webkit-mask-image: url("../svg/lucide/monitor.svg"); mask-image: url("../svg/lucide/monitor.svg"); }
.cika-license-icon--globe-2 { -webkit-mask-image: url("../svg/lucide/globe-2.svg"); mask-image: url("../svg/lucide/globe-2.svg"); }
.cika-license-icon--package-open { -webkit-mask-image: url("../svg/lucide/package-open.svg"); mask-image: url("../svg/lucide/package-open.svg"); }
.cika-license-icon--briefcase-business { -webkit-mask-image: url("../svg/lucide/briefcase-business.svg"); mask-image: url("../svg/lucide/briefcase-business.svg"); }
.cika-license-icon--badge-check { -webkit-mask-image: url("../svg/lucide/badge-check.svg"); mask-image: url("../svg/lucide/badge-check.svg"); }
.cika-license-icon--gamepad-2 { -webkit-mask-image: url("../svg/lucide/gamepad-2.svg"); mask-image: url("../svg/lucide/gamepad-2.svg"); }
.cika-license-icon--server { -webkit-mask-image: url("../svg/lucide/server.svg"); mask-image: url("../svg/lucide/server.svg"); }
.cika-license-icon--maximize-2 { -webkit-mask-image: url("../svg/lucide/maximize-2.svg"); mask-image: url("../svg/lucide/maximize-2.svg"); }
.cika-license-icon--building-2 { -webkit-mask-image: url("../svg/lucide/building-2.svg"); mask-image: url("../svg/lucide/building-2.svg"); }
.cika-license-icon--circle-check { -webkit-mask-image: url("../svg/lucide/circle-check.svg"); mask-image: url("../svg/lucide/circle-check.svg"); }
.cika-license-icon--circle-x { -webkit-mask-image: url("../svg/lucide/circle-x.svg"); mask-image: url("../svg/lucide/circle-x.svg"); }
.cika-license-icon--minus { -webkit-mask-image: url("../svg/lucide/minus.svg"); mask-image: url("../svg/lucide/minus.svg"); }
.cika-license-icon--info { -webkit-mask-image: url("../svg/lucide/info.svg"); mask-image: url("../svg/lucide/info.svg"); }
.cika-license-icon--arrow-up-right { -webkit-mask-image: url("../svg/lucide/arrow-up-right.svg"); mask-image: url("../svg/lucide/arrow-up-right.svg"); }
.cika-license-icon--circle-help { -webkit-mask-image: url("../svg/lucide/circle-help.svg"); mask-image: url("../svg/lucide/circle-help.svg"); }
.cika-license-icon--file-text { -webkit-mask-image: url("../svg/lucide/file-text.svg"); mask-image: url("../svg/lucide/file-text.svg"); }
.cika-license-icon--book-open { -webkit-mask-image: url("../svg/lucide/book-open.svg"); mask-image: url("../svg/lucide/book-open.svg"); }

.cika-license-section { scroll-margin-top: calc(var(--cika-header-height) + 2rem); }
.cika-license-section + .cika-license-section { margin-top: clamp(4rem, 8vw, 8rem); }

.cika-license-section__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--cika-space-6);
	margin-bottom: var(--cika-space-8);
	padding-bottom: var(--cika-space-4);
	border-bottom: 1px solid var(--cika-color-border);
}

.cika-license-section__heading h2 {
	margin-bottom: 0;
	font-size: clamp(2.4rem, 4vw, 4.5rem);
	text-transform: uppercase;
}

.cika-license-section__heading > a {
	display: inline-flex;
	align-items: center;
	gap: var(--cika-space-2);
	color: var(--cika-color-accent);
	font-family: var(--cika-font-mono);
	font-size: var(--cika-text-xs);
	font-weight: 800;
	text-decoration: none;
}

.cika-license-directory {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: var(--cika-space-3);
}

.cika-license-card {
	display: flex;
	min-height: 23rem;
	padding: clamp(1.25rem, 2vw, 2rem);
	border: 1px solid var(--cika-color-border);
	background: linear-gradient(145deg, var(--cika-color-surface-raised), var(--cika-color-surface-subtle));
	flex-direction: column;
}

.cika-license-card__icons {
	display: flex;
	align-items: center;
	gap: var(--cika-space-2);
	min-height: 4rem;
	margin-bottom: var(--cika-space-8);
	color: var(--cika-color-accent);
}

.cika-license-card__icons .cika-license-icon { width: 3.75rem; height: 3.75rem; flex-basis: 3.75rem; }
.cika-license-card__icons .cika-license-icon + .cika-license-icon { width: 2.5rem; height: 2.5rem; flex-basis: 2.5rem; }
.cika-license-card h3 { font-size: clamp(1.7rem, 2.2vw, 2.35rem); text-transform: uppercase; }
.cika-license-card p { color: var(--cika-color-text-muted); font-size: var(--cika-text-sm); }
.cika-license-card > a { justify-content: flex-start; min-height: auto; margin-top: auto; padding: var(--cika-space-3) 0 0; border: 0; }
.cika-license-card > a:hover { background: transparent; color: var(--cika-color-white); }
.cika-license-empty { padding: var(--cika-space-8); border: 1px solid var(--cika-color-border); }

.cika-license-details {
	display: grid;
	grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	margin-top: clamp(4rem, 8vw, 8rem);
}

.cika-license-index {
	position: sticky;
	top: calc(var(--cika-header-height) + var(--cika-space-6));
	align-self: start;
	max-height: calc(100vh - var(--cika-header-height) - 3rem);
	overflow: auto;
}

.cika-license-index ol { margin: 0; padding: 0; list-style: none; }
.cika-license-index li + li { border-top: 1px solid var(--cika-color-border); }
.cika-license-index a {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	gap: var(--cika-space-3);
	padding: var(--cika-space-4) var(--cika-space-2);
	color: var(--cika-color-text-muted);
	font-family: var(--cika-font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.cika-license-index a > span { font-size: 1.35rem; font-weight: 900; line-height: 1; }
.cika-license-index a[aria-current="true"] { border-left: 3px solid var(--cika-color-accent); background: rgb(191 231 4 / 7%); color: var(--cika-color-white); }
.cika-license-index a[aria-current="true"] > span { color: var(--cika-color-accent-2); }

.cika-license-mobile-picker { display: none; }
.cika-license-details__content { min-width: 0; }
.cika-license-detail[hidden] { display: none !important; }
.cika-license-detail {
	max-width: 92rem;
	padding: clamp(1.5rem, 3vw, 3rem);
	border: 1px solid var(--cika-color-border);
	border-top: 3px solid var(--cika-color-accent);
	background: linear-gradient(145deg, rgb(22 27 40 / 74%), rgb(10 12 19 / 88%));
	scroll-margin-top: calc(var(--cika-header-height) + 2rem);
	animation: cika-license-panel-in 180ms var(--cika-ease-standard);
}

@keyframes cika-license-panel-in {
	from { opacity: 0; transform: translateY(0.35rem); }
	to { opacity: 1; transform: translateY(0); }
}

.cika-license-detail > header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--cika-space-5); }
.cika-license-detail__number { color: var(--cika-color-accent-2); font-family: var(--cika-font-mono); font-size: 1.6rem; font-weight: 900; line-height: 1.1; }
.cika-license-detail h2 { margin-bottom: var(--cika-space-2); font-size: clamp(2.5rem, 4.5vw, 5rem); text-transform: uppercase; }
.cika-license-detail .cika-license-badge { margin-bottom: var(--cika-space-2); }
.cika-license-detail__summary { max-width: 54rem; margin-bottom: 0; color: var(--cika-color-text-muted); font-size: var(--cika-text-lg); }
.cika-license-detail__best { max-width: 64rem; margin-top: var(--cika-space-6); padding: var(--cika-space-4) var(--cika-space-5); border-left: 3px solid var(--cika-color-accent); background: rgb(191 231 4 / 6%); }
.cika-license-detail__best h3 { margin-bottom: var(--cika-space-1); font-family: var(--cika-font-mono); font-size: var(--cika-text-xs); letter-spacing: var(--cika-tracking-wide); text-transform: uppercase; }
.cika-license-detail__best p { margin-bottom: 0; }
.cika-license-detail__columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--cika-space-8); }
.cika-license-list { min-width: 0; padding: 0 clamp(1rem, 2vw, 2rem); border-left: 1px solid var(--cika-color-border); }
.cika-license-list:first-child { padding-left: 0; border-left: 0; }
.cika-license-list h3 { display: flex; align-items: center; gap: var(--cika-space-2); font-family: var(--cika-font-mono); font-size: var(--cika-text-sm); letter-spacing: 0.04em; text-transform: uppercase; }
.cika-license-list ul { margin: 0; padding: 0; list-style: none; }
.cika-license-list li { display: flex; align-items: flex-start; gap: var(--cika-space-2); margin-top: var(--cika-space-3); color: var(--cika-color-text-muted); font-size: var(--cika-text-sm); }
.cika-license-list li .cika-license-icon { width: 1rem; height: 1rem; flex-basis: 1rem; margin-top: 0.2rem; }
.cika-license-list--allowed h3, .cika-license-list--allowed li .cika-license-icon { color: var(--cika-color-accent); }
.cika-license-list--restricted h3, .cika-license-list--restricted li .cika-license-icon { color: var(--cika-color-accent-2); }
.cika-license-list--terms > p { max-width: 42rem; color: var(--cika-color-text-muted); font-size: var(--cika-text-sm); }
.cika-license-agreement { justify-content: flex-start; margin-top: var(--cika-space-5); }

.cika-license-comparison { margin-top: clamp(4.5rem, 6vw, 6rem); }

.cika-license-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	contain: inline-size layout paint;
	border: 1px solid var(--cika-color-border);
	scrollbar-color: var(--cika-color-accent) var(--cika-color-surface);
}

.cika-license-table-wrap table { display: table; min-width: 108rem; margin: 0; border-collapse: collapse; }
.cika-license-table-wrap th, .cika-license-table-wrap td { border: 1px solid var(--cika-color-border); }
.cika-license-table-wrap thead th { width: 10rem; padding: var(--cika-space-4); background: var(--cika-color-surface-raised); font-family: var(--cika-font-display); font-size: 1.15rem; line-height: 1.1; text-align: center; text-transform: uppercase; }
.cika-license-table-wrap thead th:first-child { position: sticky; left: 0; z-index: 4; width: 17rem; text-align: left; }
.cika-license-table-wrap tbody th { position: sticky; left: 0; z-index: 1; min-width: 17rem; background: var(--cika-color-surface); font-family: var(--cika-font-mono); font-size: 0.72rem; }
.cika-license-table-wrap td { height: 3rem; padding: var(--cika-space-2); background: rgb(14 18 28 / 75%); text-align: center; }
.cika-license-table-wrap :is(th, td).is-license-extended { background: rgb(31 37 49 / 88%); }
.cika-license-table-wrap thead th.is-license-extended { border-top: 2px solid rgb(255 255 255 / 42%); }
.cika-license-table-wrap :is(th, td).is-license-corporate { background: rgb(191 231 4 / 8%); }
.cika-license-table-wrap thead th.is-license-corporate { border-top: 4px solid var(--cika-color-accent); }
.cika-license-table-tier { display: block; margin-bottom: var(--cika-space-2); color: var(--cika-color-accent); font-family: var(--cika-font-mono); font-size: 0.58rem; letter-spacing: var(--cika-tracking-wide); }
.cika-license-table-wrap td .cika-license-icon { margin: auto; }
.cika-license-table-wrap td.is-allowed { color: var(--cika-color-accent); }
.cika-license-table-wrap td.is-not-covered { color: var(--cika-color-accent-2); }
.cika-license-na { color: var(--cika-color-text-muted); }
.cika-license-legend { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--cika-space-5); margin-top: var(--cika-space-4); color: var(--cika-color-text-muted); font-family: var(--cika-font-mono); font-size: 0.7rem; }
.cika-license-legend > span { display: inline-flex; align-items: center; gap: var(--cika-space-2); }
.cika-license-legend .is-allowed { color: var(--cika-color-accent); }
.cika-license-legend .is-not-covered { color: var(--cika-color-accent-2); }

.cika-license-help {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--cika-space-3);
	margin-top: clamp(4rem, 8vw, 8rem);
}

.cika-license-help article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--cika-space-5); padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--cika-color-border); background: var(--cika-color-surface-subtle); }
.cika-license-help article > .cika-license-icon { width: 3rem; height: 3rem; flex-basis: 3rem; color: var(--cika-color-accent-2); }
.cika-license-help h2 { font-size: clamp(1.75rem, 2.5vw, 2.6rem); text-transform: uppercase; }
.cika-license-help p { color: var(--cika-color-text-muted); font-size: var(--cika-text-sm); }
.cika-license-help article a { justify-content: flex-start; min-height: auto; padding: var(--cika-space-3) 0 0; border: 0; }
.cika-license-help article a:hover { background: transparent; color: var(--cika-color-white); }

@media (max-width: 75rem) {
	.cika-license-detail__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--cika-space-8); }
	.cika-license-list--terms { grid-column: 1 / -1; padding-left: 0; border-left: 0; border-top: 1px solid var(--cika-color-border); padding-top: var(--cika-space-8); }
	.cika-license-comparison { margin-top: 4.5rem; }
	.cika-license-help { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 62rem) {
	.cika-license-details { display: block; }
	.cika-license-index { display: none; }
	.cika-license-mobile-picker { display: grid; gap: var(--cika-space-2); margin-bottom: var(--cika-space-5); }
	.cika-license-mobile-picker label { color: var(--cika-color-accent-2); font-family: var(--cika-font-mono); font-size: var(--cika-text-xs); font-weight: 800; letter-spacing: var(--cika-tracking-wide); text-transform: uppercase; }
	.cika-license-mobile-picker select { width: 100%; min-height: 3.5rem; border-color: var(--cika-color-accent); background: var(--cika-color-surface-raised); color: var(--cika-color-white); font-family: var(--cika-font-mono); font-weight: 800; text-transform: uppercase; }
}

@media (max-width: 48rem) { .cika-license-button { width: 100%; }
	.cika-license-section__heading { align-items: flex-start; flex-direction: column; }
	.cika-license-directory { grid-template-columns: minmax(0, 1fr); }
	.cika-license-card { min-height: 19rem; }
	.cika-license-detail { padding: var(--cika-space-5); }
	.cika-license-detail > header { grid-template-columns: minmax(0, 1fr); gap: var(--cika-space-2); }
	.cika-license-detail h2 { font-size: clamp(2.25rem, 12vw, 3.75rem); }
	.cika-license-detail__number { font-size: 1.25rem; }
	.cika-license-detail__columns { grid-template-columns: minmax(0, 1fr); }
	.cika-license-list { padding: var(--cika-space-6) 0 0; border-left: 0; border-top: 1px solid var(--cika-color-border); }
	.cika-license-list:first-child { padding-top: 0; border-top: 0; }
	.cika-license-list--terms { grid-column: auto; }
	.cika-license-comparison { margin-top: 3.5rem; }
	.cika-license-legend { justify-content: flex-start; }
	.cika-license-help article { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.cika-license-index { scroll-behavior: auto; }
}
