/* M3G Kod Blokları – görünüm. Tema renkleri CSS değişkenleriyle tanımlıdır. */

/* Klasik PowerShell konsolu (varsayılan) */
.m3g-code {
	--k-bg: #012456;
	--k-bar: #001a42;
	--k-bar-text: #e6ecf5;
	--k-bar-border: rgba(255, 255, 255, 0.08);
	--k-border: #0a2d63;
	--k-text: #eeedf0;
	--k-cmd: #f9f1a5;
	--k-param: #a6b3c6;
	--k-op: #a6b3c6;
	--k-str: #3a96dd;
	--k-var: #16c60c;
	--k-kw: #16c60c;
	--k-com: #13a10e;
	--k-num: #ffffff;
	--k-type: #cccccc;
	--k-mem: #eeedf0;
	--k-lineno: #4f6f9c;
	--k-sel: rgba(255, 255, 255, 0.22);
	--k-btn-hover: rgba(255, 255, 255, 0.12);
	--k-ok: #16c60c;
	--k-scroll: rgba(255, 255, 255, 0.28);
	--k-radius: 10px;
	--k-shadow: 0 8px 28px rgba(1, 36, 86, 0.22);

	position: relative;
	margin: 1.6em 0;
	border: 1px solid var(--k-border);
	border-radius: var(--k-radius);
	overflow: hidden;
	background: var(--k-bg);
	color: var(--k-text);
	box-shadow: var(--k-shadow);
	font-size: var(--m3g-kod-punto, 14px);
	text-align: left;
	direction: ltr;
}

/* Windows Terminal (siyah) */
.m3g-code[data-theme="terminal"] {
	--k-bg: #0c0c0c;
	--k-bar: #1c1c1c;
	--k-bar-text: #f2f2f2;
	--k-bar-border: #2b2b2b;
	--k-border: #2b2b2b;
	--k-text: #cccccc;
	--k-param: #9e9e9e;
	--k-op: #9e9e9e;
	--k-num: #f2f2f2;
	--k-mem: #cccccc;
	--k-lineno: #5c5c5c;
	--k-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

/* Komut İstemi – klasik CMD (siyah, sade) */
.m3g-code[data-theme="cmd"] {
	--k-bg: #0c0c0c;
	--k-bar: #000000;
	--k-bar-text: #f2f2f2;
	--k-bar-border: #262626;
	--k-border: #262626;
	--k-text: #cccccc;
	--k-cmd: #f2f2f2;
	--k-param: #9e9e9e;
	--k-op: #9e9e9e;
	--k-str: #c19c00;
	--k-var: #61d6d6;
	--k-kw: #f2f2f2;
	--k-com: #767676;
	--k-num: #cccccc;
	--k-type: #cccccc;
	--k-mem: #cccccc;
	--k-lineno: #5c5c5c;
	--k-ok: #13a10e;
	--k-radius: 6px;
	--k-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

/* Ubuntu terminali (mor) */
.m3g-code[data-theme="ubuntu"] {
	--k-bg: #300a24;
	--k-bar: #2c001e;
	--k-bar-text: #ffffff;
	--k-bar-border: rgba(255, 255, 255, 0.08);
	--k-border: #2c001e;
	--k-text: #ffffff;
	--k-cmd: #8ae234;
	--k-param: #ad7fa8;
	--k-op: #babdb6;
	--k-str: #fce94f;
	--k-var: #34e2e2;
	--k-kw: #729fcf;
	--k-com: #888a85;
	--k-num: #ad7fa8;
	--k-type: #34e2e2;
	--k-mem: #ffffff;
	--k-lineno: #7a4f6e;
	--k-ok: #8ae234;
	--k-font: "Ubuntu Mono", "DejaVu Sans Mono", "Cascadia Mono", Consolas, Menlo, monospace;
	--k-shadow: 0 8px 28px rgba(48, 10, 36, 0.3);
}

/* PowerShell ISE (açık) */
.m3g-code[data-theme="ise"] {
	--k-bg: #ffffff;
	--k-bar: #f0f0f0;
	--k-bar-text: #1f1f1f;
	--k-bar-border: #dcdcdc;
	--k-border: #d4d4d4;
	--k-text: #000000;
	--k-cmd: #0000ff;
	--k-param: #000080;
	--k-op: #707070;
	--k-str: #8b0000;
	--k-var: #ff4500;
	--k-kw: #00008b;
	--k-com: #006400;
	--k-num: #800080;
	--k-type: #008080;
	--k-mem: #000000;
	--k-lineno: #2b91af;
	--k-sel: rgba(0, 120, 215, 0.2);
	--k-btn-hover: rgba(0, 0, 0, 0.07);
	--k-ok: #107c10;
	--k-scroll: rgba(0, 0, 0, 0.25);
	--k-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

/* Modern koyu */
.m3g-code[data-theme="koyu"] {
	--k-bg: #141414;
	--k-bar: #141414;
	--k-bar-text: #ffffff;
	--k-bar-border: transparent;
	--k-border: #141414;
	--k-text: #e6e6e6;
	--k-cmd: #f16c63;
	--k-param: #e879c2;
	--k-op: #e879c2;
	--k-str: #7bc67f;
	--k-var: #79b8ff;
	--k-kw: #d2a8ff;
	--k-com: #7d8590;
	--k-num: #f2cc60;
	--k-type: #56d4dd;
	--k-mem: #e6e6e6;
	--k-lineno: #555555;
	--k-ok: #7bc67f;
	--k-radius: 22px;
	--k-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}
.m3g-code[data-theme="koyu"] .m3g-code__bar { padding: 16px 18px 6px 24px; }
.m3g-code[data-theme="koyu"] .m3g-code__pre { padding: 10px 24px 22px !important; }

/* Üst şerit */
.m3g-code .m3g-code__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 10px 8px 16px;
	background: var(--k-bar);
	color: var(--k-bar-text);
	border-bottom: 1px solid var(--k-bar-border);
	font: 600 13px/1.2 "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}
.m3g-code .m3g-code__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.m3g-code .m3g-code__icon {
	width: 18px;
	height: 18px;
	flex: none;
	opacity: 0.9;
}
.m3g-code .m3g-code__actions {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}
.m3g-code .m3g-code__msg {
	margin-right: 6px;
	font-weight: 500;
	font-size: 12px;
	color: var(--k-ok);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.m3g-code.is-msg .m3g-code__msg { opacity: 1; }

.m3g-code .m3g-code__btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--k-bar-text) !important;
	box-shadow: none !important;
	line-height: 0 !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.m3g-code .m3g-code__btn:hover,
.m3g-code .m3g-code__btn:focus-visible {
	background: var(--k-btn-hover) !important;
	outline: none;
}
.m3g-code .m3g-code__btn.is-done { color: var(--k-ok) !important; }
.m3g-code .m3g-code__btn svg {
	width: 19px;
	height: 19px;
	display: block;
	pointer-events: none;
}

/* Kod alanı – temaların pre/code stillerini ezer */
.m3g-code pre.m3g-code__pre {
	display: block;
	margin: 0 !important;
	padding: 14px 18px 16px !important;
	max-width: none !important;
	max-height: var(--m3g-kod-max, none);
	overflow: auto !important;
	background: transparent !important;
	color: var(--k-text) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--k-font, "Cascadia Mono", "Cascadia Code", Consolas, "SF Mono", Menlo, "Liberation Mono", monospace) !important;
	font-size: 1em !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	white-space: pre !important;
	word-wrap: normal !important;
	overflow-wrap: normal !important;
	tab-size: 4;
	-moz-tab-size: 4;
	scrollbar-width: thin;
	scrollbar-color: var(--k-scroll) transparent;
}
.m3g-code pre.m3g-code__pre:focus-visible { outline: 2px solid var(--k-scroll); outline-offset: -2px; }
.m3g-code pre.m3g-code__pre::-webkit-scrollbar { width: 8px; height: 8px; }
.m3g-code pre.m3g-code__pre::-webkit-scrollbar-track { background: transparent; }
.m3g-code pre.m3g-code__pre::-webkit-scrollbar-thumb { background: var(--k-scroll); border-radius: 8px; }
.m3g-code pre.m3g-code__pre code {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: inherit !important;
	font: inherit !important;
	white-space: inherit !important;
	box-shadow: none !important;
}
.m3g-code.is-wrap pre.m3g-code__pre {
	white-space: pre-wrap !important;
	overflow-wrap: anywhere !important;
}
.m3g-code ::selection { background: var(--k-sel); }

/* Satır numaraları (kopyalanmaz) */
.m3g-code.has-lines code { counter-reset: m3g-line; }
.m3g-code.has-lines .m3g-code__line::before {
	counter-increment: m3g-line;
	content: counter(m3g-line);
	display: inline-block;
	width: 2.2em;
	margin-right: 1.2em;
	text-align: right;
	color: var(--k-lineno);
	-webkit-user-select: none;
	user-select: none;
}

/* Renkler */
.m3g-code .tk-cmd { color: var(--k-cmd); }
.m3g-code .tk-param { color: var(--k-param); }
.m3g-code .tk-op { color: var(--k-op); }
.m3g-code .tk-str { color: var(--k-str); }
.m3g-code .tk-var { color: var(--k-var); }
.m3g-code .tk-kw { color: var(--k-kw); }
.m3g-code .tk-com { color: var(--k-com); }
.m3g-code .tk-num { color: var(--k-num); }
.m3g-code .tk-type { color: var(--k-type); }
.m3g-code .tk-mem { color: var(--k-mem); }

@media (max-width: 600px) {
	.m3g-code { font-size: calc(var(--m3g-kod-punto, 14px) - 1px); }
	.m3g-code pre.m3g-code__pre { padding: 12px 14px 14px !important; }
}
