/* ==========================================================================
   Kurstabell (CoinGecko) — kgn-kt
   Self-contained block styles. Breaks out of the 895px article column to a
   CoinMarketCap-like width (max 1320px) without needing a new page template.
   No <p>/<li> inside the module — the theme forces 17px/1.9 on those.
   ========================================================================== */

.kgn-kt {
	--kt-ink: #181818;
	--kt-ink-2: #595c5c;
	--kt-muted: #8b95a3;
	--kt-line: #ededed;
	--kt-surface: #f5f7f9;
	--kt-surface-2: #fafafa;
	--kt-bg: #fff;
	--kt-up: #0e9f6e;
	--kt-down: #e02424;
	--kt-line-chart: #0051ff;
	--kt-accent: #0051ff;
	--kt-radius: 14px;
	--kt-max: 1320px;
	/* JS sets --kt-vw to the real client width so the breakout never adds a horizontal scrollbar. */
	--kt-w: min(var(--kt-max), calc(var(--kt-vw, 100vw) - 32px));

	position: relative;
	box-sizing: border-box;
	width: var(--kt-w);
	margin: 32px 0 40px calc(50% - var(--kt-w) / 2);
	color: var(--kt-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
}
.kgn-kt *, .kgn-kt *::before, .kgn-kt *::after { box-sizing: border-box; }
.kgn-kt button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.kgn-kt a { text-decoration: none; }
.kgn-kt svg { display: block; }
/* The theme gives img/svg max-width:100%, which makes auto table layout misbehave — reset inside the module. */
.kgn-kt svg, .kgn-kt img { max-width: none; }
.kgn-kt .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* --------------------------------------------------------------------------
   Page layout on pages that contain the block (body.kgn-has-kurstabell, set in PHP)
   The article container itself is widened to the module width, so the H1, intro
   and table share one left edge. The module then fills the container instead of
   breaking out of it. Running text is capped so lines don't get too long.
   -------------------------------------------------------------------------- */
body.kgn-has-kurstabell .page-content .container.page-info { max-width: 1800px; padding-left: 24px; padding-right: 24px; }
body.kgn-has-kurstabell .kgn-kt { width: 100%; margin-left: 0; margin-right: 0; }

/* Full page width belongs to the price module (and the partner bar inside it). EVERYTHING
   else in the article — headings, text, «Les også»-boxes, images, the signup block — keeps a
   readable measure and is CENTRED under it. Written as "every child except the module" rather
   than a list of tags, so a block type we haven't thought of can't end up flush left.
   Text stays left-aligned inside the column; only the column itself is centred. */
body.kgn-has-kurstabell .container.page-info > * {
	max-width: 860px;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.kgn-has-kurstabell .container.page-info > .kgn-kt,
body.kgn-has-kurstabell .container.page-info > .kgn-km,
body.kgn-has-kurstabell .container.page-info > .alignfull,
body.kgn-has-kurstabell .container.page-info > .alignwide {
	max-width: none;
}

/* Type: the theme forces 17px/1.9 on p and li, which reads thin and airy at this width. */
body.kgn-has-kurstabell .container.page-info > p,
body.kgn-has-kurstabell .container.page-info > ul li,
body.kgn-has-kurstabell .container.page-info > ol li {
	font-size: 18px !important;
	line-height: 1.75 !important;
	color: #24303c !important;
}
body.kgn-has-kurstabell .container.page-info > p { margin-bottom: 22px !important; }

/* Headings: tighter, darker, with real rhythm around them. */
body.kgn-has-kurstabell .container.page-info > h1 {
	margin-bottom: 16px !important;
	font-size: 44px;
	line-height: 1.12;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: #0a2540;
	text-wrap: balance;
}
body.kgn-has-kurstabell .container.page-info > h1 + p {
	margin-bottom: 34px !important;
	font-size: 19px !important;
	line-height: 1.6 !important;
	color: #35414d !important;
}
body.kgn-has-kurstabell .container.page-info > h2 {
	margin: 46px auto 14px !important;
	font-size: 30px;
	line-height: 1.22;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: #0a2540;
}
body.kgn-has-kurstabell .container.page-info > h3 {
	margin: 30px auto 10px !important;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 800;
	color: #0a2540;
}

@media (max-width: 782px) {
	body.kgn-has-kurstabell .page-content .container.page-info { padding-left: 16px; padding-right: 16px; }
	body.kgn-has-kurstabell .container.page-info > h1 { font-size: 32px; }
	body.kgn-has-kurstabell .container.page-info > h1 + p { font-size: 18px !important; }
	body.kgn-has-kurstabell .container.page-info > h2 { margin-top: 34px !important; font-size: 25px; }
	body.kgn-has-kurstabell .container.page-info > h3 { font-size: 20px; }
	body.kgn-has-kurstabell .container.page-info > p,
	body.kgn-has-kurstabell .container.page-info > ul li,
	body.kgn-has-kurstabell .container.page-info > ol li { font-size: 17px !important; line-height: 1.7 !important; }
}

/* --------------------------------------------------------------------------
   Promo bar (top, scrolls away, single outbound link)
   -------------------------------------------------------------------------- */
.kgn-kt__bar {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 22px;
	border-radius: var(--kt-radius);
	background: linear-gradient(120deg, #0a2540 0%, #0b3a5e 50%, #075434 100%); /* ends in eToro Forest */
	color: #fff;
	overflow: hidden;
}
.kgn-kt__bar-main { display: flex; align-items: center; gap: 20px 28px; padding: 22px 26px 20px 26px; }
/* partner logo straight on the dark bar (eToro: Mint on dark is their default mark) */
.kgn-kt__bar-logo { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; min-width: 150px; padding-right: 28px; border-right: 1px solid rgba(255,255,255,.14); }
.kgn-kt__bar-logo img { display: block; height: 30px; width: auto; max-width: 160px; }
.kgn-kt__bar-text { flex: 1 1 420px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kgn-kt__bar-title { display: block; font-size: 23px; line-height: 1.2; font-weight: 900; letter-spacing: -0.015em; text-wrap: balance; }
.kgn-kt__bar-sub { font-size: 14px; line-height: 1.45; color: rgba(255,255,255,0.82); }
/* checkmark points — the theme forces 17px/1.9 on li, so these are pinned with !important */
.kgn-kt__bar-points { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important; }
.kgn-kt__bar-points li { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; font-size: 14px !important; line-height: 1.4 !important; font-weight: 700; color: #fff !important; list-style: none !important; }
.kgn-kt__bar-points li::before { content: none !important; }
.kgn-kt__bar-points svg { flex: 0 0 16px; color: #6dff8a; } /* eToro Mint */
.kgn-kt__bar-cta { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.kgn-kt__bar-label { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: rgba(255,255,255,0.6); text-align: center; }
/* Wording drawn from the stylesheet rather than sitting as text in the document. */
.kgn-kt__bar-label::before { content: "Annon" "selenke"; }
.kgn-kt__bar-btn {
	display: inline-block;
	min-width: 260px;
	padding: 14px 34px;
	border-radius: 999px;
	background: #00d084;
	color: #fff !important;
	font-weight: 800;
	font-size: 18px;
	text-align: center;
	text-shadow: 0 1px 1px rgba(0,0,0,.18);
	white-space: nowrap;
	transition: transform .15s ease, background .15s ease;
}
.kgn-kt__bar-btn:hover { background: #35b782; transform: translateY(-1px); }
.kgn-kt__bar-warn { padding: 10px 28px 12px; border-top: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.18); font-size: 12px; line-height: 1.5; color: rgba(255,255,255,0.72); text-align: center; }
.kgn-kt__bar-warn a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.kgn-kt__bar-warn a:hover { color: #00d084; }

/* The bar's iframe on the live site. Initial heights are a guess to avoid layout shift;
   the child document posts its real height as soon as it renders. */
.kgn-kt__barframe { display: block; width: 100%; height: 160px; border: 0; margin: 0 0 22px; border-radius: var(--kt-radius); overflow: hidden; background: #0a2540; color-scheme: light; transition: height .15s ease; }
.kgn-kt__barframe.has-points { height: 190px; }

/* --------------------------------------------------------------------------
   Market strip (derived from the rows) + quick filters + favourites
   -------------------------------------------------------------------------- */
.kgn-kt__market { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.kgn-kt__market > div { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border: 1px solid var(--kt-line); border-radius: 12px; background: var(--kt-surface-2); min-width: 0; }
.kgn-kt__market small { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--kt-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kgn-kt__market b { font-size: 20px; font-weight: 900; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: 1.15; white-space: nowrap; }
.kgn-kt__market-sep { color: var(--kt-muted); font-weight: 600; }

.kgn-kt__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -2px 0 12px; }
.kgn-kt__filters.has-next { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
.kgn-kt__filters.has-prev { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px); mask-image: linear-gradient(to right, transparent, #000 36px); }
.kgn-kt__filters.has-prev.has-next { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
.kgn-kt__chipbtn { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--kt-line); background: var(--kt-bg); font-size: 13px; font-weight: 800; color: var(--kt-ink-2); transition: background .15s, color .15s, border-color .15s; }
.kgn-kt__chipbtn:hover { border-color: var(--kt-muted); color: var(--kt-ink); }
.kgn-kt__chipbtn.is-active { background: var(--kt-ink); color: #fff; border-color: var(--kt-ink); }
.kgn-kt__chipbtn [data-role="fav-count"] { font-weight: 700; opacity: .75; }
.kgn-kt__filters-gap { flex: 1 1 auto; }
.kgn-kt__toggle-chip { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border-radius: 999px; border: 1px dashed var(--kt-line); font-size: 13px; font-weight: 700; color: var(--kt-ink-2); cursor: pointer; user-select: none; }
.kgn-kt__toggle-chip input { width: 15px; height: 15px; margin: 0 !important; accent-color: var(--kt-ink); cursor: pointer; }
.kgn-kt__toggle-chip:has(input:checked) { border-style: solid; border-color: var(--kt-ink); color: var(--kt-ink); background: var(--kt-surface); }

.kgn-kt__fav { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-left: -4px; border-radius: 50%; color: var(--kt-line); flex: 0 0 24px; transition: color .15s, transform .15s; }
.kgn-kt__fav svg { fill: currentColor; }
.kgn-kt__row:hover .kgn-kt__fav { color: var(--kt-muted); }
.kgn-kt__fav:hover { color: #f5b301; transform: scale(1.15); }
.kgn-kt__fav.is-on, .kgn-kt__row:hover .kgn-kt__fav.is-on { color: #f5b301; }
.kgn-kt__fav:focus-visible { outline: 2px solid var(--kt-accent); outline-offset: 1px; }

/* --------------------------------------------------------------------------
   Header: title, updated, search, currency
   -------------------------------------------------------------------------- */
.kgn-kt__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px 24px;
	margin-bottom: 14px;
}
.kgn-kt__title h2 {
	margin: 0 0 4px !important;
	font-size: 28px;
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: -0.02em;
}
.kgn-kt__updated { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--kt-ink-2); padding-bottom: 10px; }
.kgn-kt__live { width: 8px; height: 8px; border-radius: 50%; background: var(--kt-up); box-shadow: 0 0 0 0 rgba(14,159,110,.5); animation: kgn-kt-pulse 2s infinite; }
.kgn-kt.is-stale .kgn-kt__live { background: #f59e0b; animation: none; }
@keyframes kgn-kt-pulse { 0% { box-shadow: 0 0 0 0 rgba(14,159,110,.45); } 70% { box-shadow: 0 0 0 7px rgba(14,159,110,0); } 100% { box-shadow: 0 0 0 0 rgba(14,159,110,0); } }

.kgn-kt__controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kgn-kt__search {
	display: flex; align-items: center; gap: 8px;
	height: 40px; padding: 0 14px;
	border: 1px solid var(--kt-line); border-radius: 999px; background: var(--kt-bg);
	color: var(--kt-muted);
	transition: border-color .15s, box-shadow .15s;
}
.kgn-kt__search:focus-within { border-color: var(--kt-accent); box-shadow: 0 0 0 3px rgba(0,81,255,.12); color: var(--kt-ink); }
.kgn-kt__search input {
	width: 200px; height: 100%; border: 0 !important; outline: 0; background: transparent !important;
	padding: 0 !important; margin: 0 !important; font: inherit !important; font-size: 14px !important; color: var(--kt-ink); box-shadow: none !important;
}
.kgn-kt__search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.kgn-kt__cur { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--kt-surface); }
.kgn-kt__cur button {
	height: 34px; padding: 0 16px; border-radius: 999px;
	font-size: 13px; font-weight: 800; color: var(--kt-ink-2);
	transition: background .15s, color .15s, box-shadow .15s;
}
.kgn-kt__cur button[aria-pressed="true"] { background: var(--kt-bg); color: var(--kt-ink); box-shadow: 0 1px 3px rgba(0,0,0,.10); }

/* --------------------------------------------------------------------------
   Table
   -------------------------------------------------------------------------- */
.kgn-kt__scroll {
	border: 1px solid var(--kt-line);
	border-radius: var(--kt-radius);
	background: var(--kt-bg);
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.kgn-kt__table {
	width: 100%;
	min-width: 980px;
	margin: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 15px;
	table-layout: auto;
}
.kgn-kt__table th, .kgn-kt__table td {
	padding: 0 14px;
	border: 0 !important;
	border-bottom: 1px solid var(--kt-line) !important;
	background: var(--kt-bg);
	vertical-align: middle;
	text-align: left;
	white-space: nowrap;
}
.kgn-kt__table th { height: 46px; font-size: 12px; font-weight: 800; letter-spacing: .02em; color: var(--kt-ink-2); text-transform: none; }
.kgn-kt__table td { height: 64px; }
.kgn-kt__table tbody tr:last-child td { border-bottom: 0 !important; }

.kgn-kt__table thead th { position: sticky; top: 0; z-index: 3; background: var(--kt-surface-2); }
.kgn-kt__table thead th:first-child { border-top-left-radius: var(--kt-radius); }
.kgn-kt__table thead th:last-child  { border-top-right-radius: var(--kt-radius); }

.kgn-kt__table th[data-sort] button { display: inline-flex; align-items: center; gap: 4px; padding: 0; height: 100%; }
.kgn-kt__table th[data-sort] button::after {
	content: ""; width: 0; height: 0; opacity: 0;
	border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor;
	transition: opacity .15s, transform .15s;
}
.kgn-kt__table th[data-sort]:hover button::after { opacity: .35; }
.kgn-kt__table th[aria-sort="ascending"] button::after  { opacity: 1; transform: rotate(180deg); }
.kgn-kt__table th[aria-sort="descending"] button::after { opacity: 1; }
.kgn-kt__table th.c-num button { flex-direction: row-reverse; }

.kgn-kt__table .c-num { text-align: right; font-variant-numeric: tabular-nums; }
.kgn-kt__table .c-rank { width: 56px; color: var(--kt-muted); font-size: 13px; text-align: center; }
.kgn-kt__table .c-name { min-width: 220px; }
.kgn-kt__table .c-spark { width: 150px; text-align: center; }
.kgn-kt__table .c-exp { width: 48px; padding-left: 0; padding-right: 10px; text-align: right; }
.kgn-kt__table th.c-spark { text-align: center; }

.kgn-kt__row { cursor: pointer; transition: background .12s; }
.kgn-kt__row:hover td { background: var(--kt-surface-2); }
.kgn-kt__row.is-hidden { display: none; }
.kgn-kt__empty { text-align: center !important; color: var(--kt-ink-2); height: 96px !important; }

.kgn-kt__coin { display: flex; align-items: center; gap: 12px; min-width: 0; }
.kgn-kt__coin img { width: 28px; height: 28px; border-radius: 50%; flex: 0 0 28px; background: var(--kt-surface); }
.kgn-kt__coin-text { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
/* Some top-100 entries are tokenised funds with 50-character names — cap and ellipsise so one row never blows up the column. Full name shows in title and popup. */
.kgn-kt__coin-name { display: block; max-width: 250px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; color: var(--kt-ink); letter-spacing: -0.01em; }
a.kgn-kt__coin-name:hover { color: var(--kt-accent); text-decoration: underline; text-underline-offset: 2px; }
.kgn-kt__coin-sym { font-size: 12px; font-weight: 700; color: var(--kt-muted); letter-spacing: .02em; }

.kgn-kt__table td[data-role="price"] { font-weight: 700; }
.kgn-kt .is-up { color: var(--kt-up); }
.kgn-kt .is-down { color: var(--kt-down); }
.kgn-kt__table td.is-up::before, .kgn-kt__table td.is-down::before {
	content: ""; display: inline-block; width: 0; height: 0; margin-right: 5px; vertical-align: 2px;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
}
.kgn-kt__table td.is-up::before { border-bottom: 6px solid currentColor; }
.kgn-kt__table td.is-down::before { border-top: 6px solid currentColor; }

/* price flash on live update */
.kgn-kt td.flash-up   { animation: kgn-kt-flash-up .9s ease-out; }
.kgn-kt td.flash-down { animation: kgn-kt-flash-down .9s ease-out; }
@keyframes kgn-kt-flash-up   { 0% { background: rgba(14,159,110,.18); } 100% { background: transparent; } }
@keyframes kgn-kt-flash-down { 0% { background: rgba(224,36,36,.16); } 100% { background: transparent; } }

/* sparkline */
.kgn-kt__spark { display: block; width: 120px; height: 36px; margin: 0 auto; overflow: visible; }
.kgn-kt__spark path { fill: none; stroke: var(--kt-up); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.kgn-kt__spark.is-down path { stroke: var(--kt-down); }
.kgn-kt__spark[data-lazy] { background: linear-gradient(90deg, transparent, var(--kt-surface) 50%, transparent); background-size: 200% 100%; animation: kgn-kt-shimmer 1.4s linear infinite; border-radius: 4px; }
@keyframes kgn-kt-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }

.kgn-kt__toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	color: var(--kt-muted);
	transition: background .15s, color .15s;
}
.kgn-kt__row:hover .kgn-kt__toggle { background: var(--kt-surface); color: var(--kt-ink); }
.kgn-kt__toggle:focus-visible { outline: 2px solid var(--kt-accent); outline-offset: 2px; }

/* footer */
.kgn-kt__foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; padding: 12px 4px 0; font-size: 13px; color: var(--kt-muted); }

/* stale */
.kgn-kt.is-stale .kgn-kt__table td[data-role="price"] { color: var(--kt-ink-2); }

/* --------------------------------------------------------------------------
   Detail popup (<dialog>)
   -------------------------------------------------------------------------- */
.kgn-kt__dialog {
	width: min(1640px, calc(100vw - 48px));
	max-height: calc(100vh - 48px);
	margin: auto; /* the theme's * { margin:0 } reset kills the UA centring of <dialog> */
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: var(--kt-bg);
	color: var(--kt-ink);
	box-shadow: 0 30px 80px rgba(10, 20, 40, .28);
	overflow: hidden;
}
.kgn-kt__dialog::backdrop { background: rgba(8, 14, 26, .55); backdrop-filter: blur(3px); }
.kgn-kt__dialog[open] { animation: kgn-kt-dlg-in .22s cubic-bezier(.2,.8,.2,1); }
@keyframes kgn-kt-dlg-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }

.kgn-kt__dlg { position: relative; max-height: inherit; display: flex; flex-direction: column; }
.kgn-kt__dlg-close {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	width: 38px; height: 38px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--kt-surface); color: var(--kt-ink-2);
	transition: background .15s, color .15s;
}
.kgn-kt__dlg-close:hover { background: var(--kt-line); color: var(--kt-ink); }
.kgn-kt__dlg-close:focus-visible { outline: 2px solid var(--kt-accent); outline-offset: 2px; }
.kgn-kt__dlg-body { overflow-y: auto; padding: 28px 40px 36px; font-size: 15px; }
/* content is centred inside the wide dialog */
.kgn-kt__dlg-body > * { max-width: 1240px; margin-left: auto; margin-right: auto; }
.kgn-kt__dlg-loading { padding: 60px 0; text-align: center; color: var(--kt-muted); }
.kgn-kt__dlg-error { padding: 40px 0; text-align: center; color: var(--kt-down); }

.kgn-kt__dlg-head { display: flex; align-items: center; gap: 14px; padding-right: 48px; margin-bottom: 18px; }
.kgn-kt__dlg-head img { width: 44px; height: 44px; border-radius: 50%; background: var(--kt-surface); flex: 0 0 44px; }
.kgn-kt__dlg-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kgn-kt__dlg-name strong { font-size: 22px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; }
.kgn-kt__dlg-name span { font-size: 13px; color: var(--kt-muted); font-weight: 700; }
.kgn-kt__dlg-rank { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 999px; background: var(--kt-surface); color: var(--kt-ink-2); font-size: 11px; font-weight: 800; }

.kgn-kt__dlg-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 14px; margin-bottom: 6px; }
.kgn-kt__dlg-price strong { font-size: 36px; font-weight: 900; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.kgn-kt__dlg-price .kgn-kt__chip { font-size: 14px; }
.kgn-kt__dlg-sub { font-size: 13px; color: var(--kt-muted); margin-bottom: 18px; }

.kgn-kt__chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-weight: 800; font-variant-numeric: tabular-nums; background: var(--kt-surface); color: var(--kt-ink-2); }
.kgn-kt__chip.is-up { background: rgba(14,159,110,.12); color: var(--kt-up); }
.kgn-kt__chip.is-down { background: rgba(224,36,36,.10); color: var(--kt-down); }

/* 7-day chart */
.kgn-kt__chart { position: relative; margin: 0 -8px 8px; }
.kgn-kt__chart svg { width: 100%; height: auto; display: block; }
.kgn-kt__chart .line { fill: none; stroke: var(--kt-line-chart); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.kgn-kt__chart .area { fill: url(#kgn-kt-grad); }
.kgn-kt__chart .grid { stroke: var(--kt-line); stroke-width: 1; stroke-dasharray: 3 4; }
.kgn-kt__chart .lbl { font-size: 11px; fill: var(--kt-muted); font-family: inherit; font-variant-numeric: tabular-nums; }
.kgn-kt__chart-cap { display: flex; justify-content: space-between; font-size: 12px; color: var(--kt-muted); padding: 0 2px; margin-bottom: 20px; }

/* change grid */
.kgn-kt__changes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; }
.kgn-kt__changes > div { padding: 10px 12px; border-radius: 12px; background: var(--kt-surface-2); border: 1px solid var(--kt-line); }
.kgn-kt__changes small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--kt-muted); margin-bottom: 4px; }
.kgn-kt__changes b { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }

/* stats */
.kgn-kt__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.kgn-kt__stats > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--kt-line); font-size: 14px; }
.kgn-kt__stats > div span { color: var(--kt-ink-2); }
.kgn-kt__stats > div b { font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.kgn-kt__stats small { display: block; font-weight: 600; font-size: 12px; color: var(--kt-muted); }
.kgn-kt__range { position: relative; height: 4px; margin: 6px 0 2px; border-radius: 2px; background: var(--kt-line); }
.kgn-kt__range i { position: absolute; top: -3px; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--kt-accent); box-shadow: 0 0 0 2px #fff; }
.kgn-kt__supply { height: 4px; border-radius: 2px; background: var(--kt-line); overflow: hidden; margin-top: 6px; }
.kgn-kt__supply i { display: block; height: 100%; background: var(--kt-accent); }

/* ---- interactive chart module (kgn_kurs_chart.js) ---- */
.kgn-kc { margin-bottom: 22px; }
.kgn-kc [hidden] { display: none !important; } /* our display:flex rules must not beat the hidden attribute */
.kgn-kc__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 12px; }
.kgn-kc__presets { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--kt-surface); }
.kgn-kc__preset { height: 32px; padding: 0 14px; border-radius: 999px; font-size: 13px; font-weight: 800; color: var(--kt-ink-2); transition: background .15s, color .15s, box-shadow .15s; }
.kgn-kc__preset.is-active { background: var(--kt-bg); color: var(--kt-ink); box-shadow: 0 1px 3px rgba(0,0,0,.10); }
.kgn-kc__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kgn-kc__date { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 6px 0 12px; border: 1px solid var(--kt-line); border-radius: 999px; font-size: 12px; font-weight: 800; color: var(--kt-ink-2); background: var(--kt-bg); }
.kgn-kc__date input { height: 30px !important; border: 0 !important; background: transparent !important; padding: 0 4px !important; margin: 0 !important; font: inherit !important; font-size: 13px !important; font-weight: 700 !important; color: var(--kt-ink); box-shadow: none !important; outline: 0; }
.kgn-kc__toggle { height: 36px; padding: 0 14px; border: 1px solid var(--kt-line); border-radius: 999px; font-size: 13px; font-weight: 800; color: var(--kt-ink-2); background: var(--kt-bg); transition: background .15s, color .15s, border-color .15s; }
.kgn-kc__toggle:hover { border-color: var(--kt-muted); color: var(--kt-ink); }
.kgn-kc__toggle[aria-pressed="true"] { background: var(--kt-ink); color: #fff; border-color: var(--kt-ink); }
.kgn-kc__toggle:disabled { opacity: .4; cursor: not-allowed; }
.kgn-kc__dl { position: relative; }
.kgn-kc__dl-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 5; display: flex; flex-direction: column; min-width: 120px; padding: 6px; border-radius: 12px; background: var(--kt-bg); border: 1px solid var(--kt-line); box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.kgn-kc__dl-menu button { text-align: left; padding: 8px 12px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.kgn-kc__dl-menu button:hover { background: var(--kt-surface); }
.kgn-kc__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-bottom: 8px; font-size: 13px; color: var(--kt-ink-2); }
.kgn-kc__stat { display: inline-flex; align-items: center; gap: 8px; }
.kgn-kc__stat small { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--kt-muted); }
.kgn-kc__stat b { font-weight: 800; color: var(--kt-ink); font-variant-numeric: tabular-nums; }
.kgn-kc__stat--range { margin-left: auto; color: var(--kt-muted); }
.kgn-kc__wrap { position: relative; margin: 0 -8px; }
.kgn-kc__svg { width: 100%; height: auto; display: block; cursor: crosshair; touch-action: pan-y; }
.kgn-kc__svg .grid { stroke: var(--kt-line); stroke-width: 1; stroke-dasharray: 3 4; }
.kgn-kc__svg .lbl { font-size: 12px; fill: var(--kt-muted); font-family: inherit; font-variant-numeric: tabular-nums; }
.kgn-kc__svg .line { fill: none; stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; }
.kgn-kc__svg .end { stroke: #fff; stroke-width: 2; }
.kgn-kc__svg .cross { stroke: var(--kt-ink-2); stroke-width: 1; stroke-dasharray: 4 4; }
.kgn-kc__svg .dot { stroke: #fff; stroke-width: 2; }
.kgn-kc__tip { position: absolute; pointer-events: none; display: flex; flex-direction: column; gap: 1px; padding: 8px 12px; border-radius: 10px; background: var(--kt-ink); color: #fff; font-size: 13px; line-height: 1.3; white-space: nowrap; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.kgn-kc__tip b { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.kgn-kc__tip span { color: rgba(255,255,255,.72); font-size: 12px; }
.kgn-kc__overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.7); color: var(--kt-muted); font-weight: 700; border-radius: 12px; }
.kgn-kc__note { margin-top: 8px; padding: 8px 12px; border-radius: 10px; background: #fff7ed; color: #9a3412; font-size: 13px; }

.kgn-kt__dlg-more {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 22px; padding: 12px 20px; border-radius: 999px;
	background: var(--kt-ink); color: #fff !important; font-weight: 800; font-size: 14px;
	transition: transform .15s, background .15s;
}
.kgn-kt__dlg-more:hover { background: #000; transform: translateY(-1px); }
.kgn-kt__dlg-src { margin-top: 18px; font-size: 12px; color: var(--kt-muted); }

/* --------------------------------------------------------------------------
   Single-coin module (kurs-mynt-block) — shares tokens and components with the table
   -------------------------------------------------------------------------- */
.kgn-km__card { border: 1px solid var(--kt-line); border-radius: var(--kt-radius); background: var(--kt-bg); padding: 26px 32px 22px; }
.kgn-km__empty { padding: 28px; border: 1px dashed var(--kt-line); border-radius: var(--kt-radius); color: var(--kt-ink-2); font-size: 14px; }
.kgn-km__hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin-bottom: 18px; }
.kgn-km__ident { display: flex; align-items: center; gap: 14px; min-width: 0; }
.kgn-km__ident img { width: 48px; height: 48px; border-radius: 50%; background: var(--kt-surface); flex: 0 0 48px; }
.kgn-km__name { display: flex; flex-direction: column; gap: 4px; }
.kgn-km__name strong { font-size: 24px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; }
.kgn-km__sym { font-size: 14px; font-weight: 700; color: var(--kt-muted); margin-left: 6px; letter-spacing: .02em; }
.kgn-km__meta { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--kt-ink-2); }
.kgn-km__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; flex: 1 1 auto; }
.kgn-km__price strong { font-size: 44px; font-weight: 900; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; padding: 4px 6px; margin: -4px -6px; border-radius: 8px; }
.kgn-km__price .kgn-kt__chip { font-size: 15px; }
.kgn-km__price-sub { font-size: 13px; color: var(--kt-muted); }
.kgn-km__price strong.flash-up   { animation: kgn-kt-flash-up .9s ease-out; }
.kgn-km__price strong.flash-down { animation: kgn-kt-flash-down .9s ease-out; }
.kgn-km__chart { margin: 0 0 18px; min-height: 120px; }
.kgn-km__chart .kgn-kc__svg .line { fill: none; stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; }
.kgn-km__changes { margin-bottom: 22px; }
.kgn-km__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 20px 40px; align-items: start; }
.kgn-km__grid > * { min-width: 0; }
.kgn-km__stats { grid-template-columns: 1fr; gap: 0; }
.kgn-km__stats > div b { max-width: 64%; overflow-wrap: anywhere; }
.kgn-km__calc { padding: 18px 20px 16px; border-radius: 12px; background: var(--kt-surface-2); border: 1px solid var(--kt-line); }
.kgn-km__calc-title { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--kt-muted); margin-bottom: 12px; }
.kgn-km__calc-row { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 6px 0 14px; border: 1px solid var(--kt-line); border-radius: 10px; background: var(--kt-bg); }
.kgn-km__calc-row:focus-within { border-color: var(--kt-accent); box-shadow: 0 0 0 3px rgba(0,81,255,.12); }
.kgn-km__calc-row input { flex: 1 1 auto; min-width: 0; height: 100% !important; border: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; font: inherit !important; font-size: 18px !important; font-weight: 800 !important; color: var(--kt-ink); font-variant-numeric: tabular-nums; box-shadow: none !important; outline: 0; }
.kgn-km__calc-row span { flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; background: var(--kt-surface); font-size: 12px; font-weight: 800; color: var(--kt-ink-2); }
.kgn-km__calc-eq { text-align: center; padding: 6px 0; color: var(--kt-muted); font-weight: 800; }
.kgn-km__calc-note { margin-top: 10px; font-size: 12px; color: var(--kt-muted); }
.kgn-km__foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--kt-line); font-size: 13px; color: var(--kt-muted); }
.kgn-km__foot a { font-weight: 800; color: var(--kt-accent); }
.kgn-km__foot a:hover { text-decoration: underline; }
.kgn-km .kgn-kc__wrap { margin: 0; }
.kgn-km__summary { margin: -4px 0 18px !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--kt-ink-2); max-width: 70ch; }
/* history section */
.kgn-km__history { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--kt-line); }
.kgn-km__h2 { margin: 0 0 16px !important; font-size: 24px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.2; }
.kgn-km__h3 { margin: 26px 0 12px !important; font-size: 17px; font-weight: 800; letter-spacing: -0.01em; }
.kgn-km__records { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.kgn-km__record { padding: 16px 18px; border-radius: 12px; background: var(--kt-surface-2); border: 1px solid var(--kt-line); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kgn-km__record small { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--kt-muted); }
.kgn-km__record b { font-size: 24px; font-weight: 900; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.kgn-km__record span { font-size: 13px; color: var(--kt-ink-2); line-height: 1.4; }
.kgn-km__quick { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 !important; }
.kgn-km__quick th, .kgn-km__quick td { padding: 5px 0 !important; border: 0 !important; border-bottom: 1px solid var(--kt-line) !important; background: transparent; font-variant-numeric: tabular-nums; }
.kgn-km__quick th { text-align: left; font-weight: 700; color: var(--kt-ink-2); }
.kgn-km__quick td { text-align: right; font-weight: 800; }
.kgn-km__quick tr:last-child th, .kgn-km__quick tr:last-child td { border-bottom: 0 !important; }
.kgn-km__years-wrap { overflow-x: auto; border: 1px solid var(--kt-line); border-radius: 12px; }
.kgn-km__years { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; font-size: 14px; margin: 0 !important; }
.kgn-km__years th, .kgn-km__years td { padding: 10px 14px !important; border: 0 !important; border-bottom: 1px solid var(--kt-line) !important; background: var(--kt-bg); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kgn-km__years thead th { background: var(--kt-surface-2); font-size: 12px; font-weight: 800; color: var(--kt-ink-2); }
.kgn-km__years th[scope="row"], .kgn-km__years thead th:first-child { text-align: left; font-weight: 800; }
.kgn-km__years th[scope="row"] small { font-weight: 600; color: var(--kt-muted); font-size: 11px; }
.kgn-km__years tbody tr:last-child th, .kgn-km__years tbody tr:last-child td { border-bottom: 0 !important; }
.kgn-km__years td.is-up { color: var(--kt-up); font-weight: 800; }
.kgn-km__years td.is-down { color: var(--kt-down); font-weight: 800; }
.kgn-km__note { margin-top: 10px; font-size: 12px; color: var(--kt-muted); }
/* invest calculator */
.kgn-km__invest { margin-top: 22px; padding: 18px 20px; border-radius: 12px; background: var(--kt-surface-2); border: 1px solid var(--kt-line); }
.kgn-km__invest-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; font-size: 16px; font-weight: 700; color: var(--kt-ink); }
.kgn-km__invest-amt { height: 42px; width: 170px; }
.kgn-km__invest-amt input { font-size: 16px !important; }
.kgn-km__invest-date { height: 42px !important; padding: 0 12px !important; border: 1px solid var(--kt-line) !important; border-radius: 10px !important; background: var(--kt-bg) !important; font: inherit !important; font-size: 15px !important; font-weight: 700 !important; color: var(--kt-ink); box-shadow: none !important; margin: 0 !important; }
.kgn-km__invest-result { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 14px; }
.kgn-km__invest-result b { font-size: 28px; font-weight: 900; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.kgn-km__invest-result span { font-size: 14px; color: var(--kt-ink-2); }
/* own articles */
.kgn-km__articles { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--kt-line); }
.kgn-km__article-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kgn-km__article { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--kt-line); background: var(--kt-bg); color: var(--kt-ink) !important; transition: border-color .15s, transform .15s; }
.kgn-km__article:hover { border-color: var(--kt-accent); transform: translateY(-1px); }
.kgn-km__article-title { font-weight: 800; line-height: 1.35; font-size: 15px; }
.kgn-km__article-date { font-size: 12px; color: var(--kt-muted); }
/* articles inside the table popup */
.kgn-kt__dlg-articles { margin-top: 22px; }
.kgn-kt__dlg-articles-title { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--kt-muted); margin-bottom: 8px; }
.kgn-kt__dlg-article { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-ink) !important; font-weight: 700; font-size: 14px; }
.kgn-kt__dlg-article:hover span { color: var(--kt-accent); text-decoration: underline; }
.kgn-kt__dlg-article small { flex: 0 0 auto; color: var(--kt-muted); font-weight: 600; font-size: 12px; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.kgn-kt__table .c-1h { display: none; }
}
@media (max-width: 782px) {
	.kgn-kt { font-size: 14px; margin-top: 20px; }
	.kgn-kt__title h2 { font-size: 22px; }
	.kgn-kt__head { align-items: stretch; }
	.kgn-kt__controls { justify-content: space-between; width: 100%; }
	.kgn-kt__search { flex: 1 1 auto; }
	.kgn-kt__search input { width: 100%; }
	.kgn-kt__barframe { height: 430px; }
	.kgn-kt__barframe.has-points { height: 520px; }
	/* mobile: everything centred, like the button */
	.kgn-kt__bar-main { flex-direction: column; align-items: center; gap: 16px; padding: 20px 18px 18px; text-align: center; }
	.kgn-kt__bar-text { flex: 0 0 auto; align-items: center; } /* in a column, a px flex-basis would become height */
	.kgn-kt__bar-cta { flex: 0 0 auto; align-self: stretch; align-items: stretch; }
	.kgn-kt__bar-logo { min-width: 0; padding: 0 0 14px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); align-self: stretch; }
	.kgn-kt__bar-logo img { height: 24px; }
	.kgn-kt__bar-title { font-size: 20px; }
	.kgn-kt__bar-points { flex-direction: column; align-items: center; gap: 8px; }
	.kgn-kt__bar-btn { text-align: center; min-width: 0; padding: 13px 24px; font-size: 18px; }
	.kgn-kt__bar-warn { padding: 10px 18px 12px; }

	.kgn-kt__market { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.kgn-kt__market > div { padding: 10px 12px; }
	.kgn-kt__market small { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }
	.kgn-kt__market b { font-size: 16px; }
	.kgn-kt__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.kgn-kt__filters::-webkit-scrollbar { display: none; }
	.kgn-kt__chipbtn, .kgn-kt__toggle-chip { flex: 0 0 auto; white-space: nowrap; }
	.kgn-kt__filters-gap { display: none; }
	.kgn-kt__fav { width: 20px; flex-basis: 20px; margin-left: -2px; }
	.kgn-kt__table { min-width: 0; font-size: 14px; }
	.kgn-kt__table th, .kgn-kt__table td { padding: 0 8px; }
	.kgn-kt__table td { height: 58px; }
	.kgn-kt__table .c-rank { width: 30px; padding: 0 2px 0 6px; font-size: 12px; }
	.kgn-kt__table .c-name { min-width: 0; max-width: 150px; padding-right: 6px; }
	.kgn-kt__coin { gap: 8px; }
	.kgn-kt__coin-text { flex-direction: column; gap: 0; min-width: 0; }
	.kgn-kt__coin-name { font-size: 14px; max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.kgn-kt__coin-sym { font-size: 11px; }
	.kgn-kt__coin img { width: 24px; height: 24px; flex-basis: 24px; }
	.kgn-kt__table td[data-role="price"] { font-size: 14px; }
	.kgn-kt__table .c-vol, .kgn-kt__table .c-exp { display: none; }
	.kgn-kt__table .c-spark { width: 110px; }
	.kgn-kt__spark { width: 90px; height: 32px; }

	/* first two columns stick while the rest scrolls horizontally */
	.kgn-kt__table .c-rank, .kgn-kt__table .c-name { position: sticky; z-index: 2; }
	.kgn-kt__table .c-rank { left: 0; }
	.kgn-kt__table .c-name { left: 30px; box-shadow: 6px 0 8px -6px rgba(0,0,0,.10); }
	.kgn-kt__table thead .c-rank, .kgn-kt__table thead .c-name { z-index: 4; }
	.kgn-kt__row:hover td { background: var(--kt-bg); }

	/* single-coin module */
	.kgn-km__card { padding: 20px 16px 18px; }
	.kgn-km__hero { gap: 14px; }
	.kgn-km__name strong { font-size: 20px; }
	.kgn-km__price strong { font-size: 34px; }
	.kgn-km__grid { grid-template-columns: 1fr; gap: 18px; }
	.kgn-km .kgn-kt__cur { order: 3; }
	.kgn-km__records { grid-template-columns: 1fr; }
	.kgn-km__article-list { grid-template-columns: 1fr; }
	.kgn-km__invest-form { font-size: 15px; }
	.kgn-km__invest-amt { width: 100%; }
	.kgn-km__invest-date { width: 100%; }
	.kgn-km__h2 { font-size: 21px; }

	/* bottom sheet */
	.kgn-kt__dialog {
		width: 100vw; max-width: 100vw;
		max-height: 92dvh;
		margin: auto 0 0;
		border-radius: 20px 20px 0 0;
	}
	.kgn-kt__dialog[open] { animation: kgn-kt-sheet-in .26s cubic-bezier(.2,.8,.2,1); }
	@keyframes kgn-kt-sheet-in { from { transform: translateY(40px); opacity: .6; } to { transform: none; opacity: 1; } }
	.kgn-kt__dlg::before { content: ""; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--kt-line); }
	.kgn-kt__dlg-body { padding: 26px 18px 30px; }
	.kgn-kc__bar { flex-direction: column; align-items: stretch; }
	.kgn-kc__presets { justify-content: space-between; }
	.kgn-kc__preset { padding: 0 10px; flex: 1 1 auto; }
	.kgn-kc__tools { justify-content: space-between; }
	.kgn-kc__stat--range { margin-left: 0; width: 100%; }
	.kgn-kc__wrap { margin: 0 -4px; }
	.kgn-kt__dlg-price strong { font-size: 30px; }
	.kgn-kt__changes { grid-template-columns: repeat(2, 1fr); }
	.kgn-kt__stats { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
	.kgn-kt__table .c-mcap { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.kgn-kt *, .kgn-kt *::before, .kgn-kt *::after { animation: none !important; transition: none !important; }
}
