/* Talaşhane — siyah endüstriyel katalog görünümü
   Kalın geometrik başlıklar (Poppins), sade gövde (Lato), fıstık yeşili vurgu, keskin köşeli düğmeler.
   Ölçü ve sonuçlar IBM Plex Sans (hizalı rakamlar). Açık tema aynı dilin beyaz hâli. */
:root {
  --bg: #0e0f10;
  --surface: #17181a;
  --surface-2: #1f2123;
  --line: #2a2d30;
  --line-2: #3a3e42;
  --text: #f2f3f4;
  --text-2: #c9cdd2;
  --muted: #9ba1a8;
  --accent: #8cc63f;          /* fıstık yeşili */
  --accent-strong: #a6d95f;
  --accent-soft: rgba(140, 198, 63, .13);
  --on-accent: #0e0f10;
  --ok: #8cc63f;
  --bad: #ff6b5e;
  --mid: #5fb4f0;
  --top: #0a0b0c;
  --bp-bg: #131517;           /* çizim alanı */
  --bp-grid: #1d2023;
  --bp-ink: #9ba1a8;
  --radius: 4px;
  --head: "Poppins", system-ui, sans-serif;
  --sans: "Lato", system-ui, sans-serif;
  --mono: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; /* sayısal değerler: tabular-nums ile */
  --stat-bg: rgba(255, 255, 255, .035);
  --side: 270px;
  color-scheme: dark;
}
:root[data-theme="light"] {
  --bg: #ffffff;
  --surface: #f5f6f7;
  --surface-2: #eceef0;
  --line: #d2d6da;
  --line-2: #b8bec4;
  --text: #121416;
  --text-2: #272b2f;
  --muted: #4b5157;
  --accent: #5f9a1f;
  --accent-strong: #4f8318;
  --accent-soft: rgba(95, 154, 31, .1);
  --on-accent: #ffffff;
  --ok: #3f8a1a;
  --bad: #c9362b;
  --mid: #1f6fb0;
  --stat-bg: rgba(0, 0, 0, .03);
  --top: #121314;
  --bp-bg: #fafbfb;
  --bp-grid: #edf0f2;
  --bp-ink: #61676e;
  color-scheme: light;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font: 400 16px/1.6 var(--sans); min-height: 100vh; display: flex; flex-direction: column; -webkit-font-smoothing: antialiased; }
.stat .v, .tbl.num td, .diagram text, input, .qcard .qv, .bar-row .bv, .col .cv { font-variant-numeric: tabular-nums; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
h1, h2, h3 { font-family: var(--head); }

/* ---------- üst bar ---------- */
.topbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 14px; padding: 0 20px; height: 64px; background: var(--top); border-bottom: 1px solid #1f2123; }
.brand { color: #fff; text-decoration: none; font: 600 19px var(--head); letter-spacing: .3px; display: flex; align-items: center; gap: 10px; margin-right: auto; }
.brand-mark { width: 37px; height: 34px; flex: none; }
.brand-t { font: 800 19px var(--head); letter-spacing: .6px; line-height: 1; }
.brand-t b { font-weight: 800; color: #8cc63f; }
.top-actions { display: flex; gap: 8px; }
.icon-btn { background: transparent; border: 1px solid #2a2d30; color: #e6e8ea; font-size: 17px; line-height: 1; border-radius: var(--radius); width: 44px; height: 40px; cursor: pointer; display: grid; place-items: center; }
.icon-btn:hover { border-color: var(--accent); color: var(--accent); }
.menu-btn { flex: none; }

/* ---------- sol menü (akordeon, gizlenebilir) ---------- */
.layout { flex: 1; display: grid; grid-template-columns: var(--side) minmax(0, 1fr); transition: grid-template-columns .2s; }
body.nav-collapsed .layout { grid-template-columns: 0 minmax(0, 1fr); }
body.nav-collapsed .sidebar { visibility: hidden; }
.sidebar { background: var(--surface); border-right: 1px solid var(--line); padding: 16px 12px 40px; overflow-y: auto; height: calc(100vh - 64px); position: sticky; top: 64px; align-self: start; }
.ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.sidebar .nav-search { margin: 0 0 10px; width: 100%; font: 15px var(--sans); }
.nav-group { border-bottom: 1px solid var(--line); }
.nav-title { width: 100%; display: flex; align-items: center; gap: 9px; padding: 12px 8px; background: none; border: 0; cursor: pointer; color: var(--text); font: 600 14px var(--head); text-align: left; }
.nav-title .ico { color: var(--accent); }
.nav-title .chev { margin-left: auto; color: var(--muted); transition: transform .2s; }
.nav-group.open .nav-title .chev { transform: rotate(90deg); }
.nav-title:hover { color: var(--accent); }
.nav-links { display: none; padding: 0 0 10px; }
.nav-group.open .nav-links { display: block; }
.sidebar a { display: block; padding: 7px 10px 7px 33px; font-size: 14.5px; border-radius: var(--radius); text-decoration: none; color: var(--text-2); }
.sidebar a:hover { color: var(--text); background: var(--surface-2); }
.sidebar a.active { color: var(--accent); background: var(--accent-soft); font-weight: 700; }

/* ---------- sayfa ---------- */
main { padding: 32px clamp(16px, 4vw, 56px) 64px; max-width: 1200px; width: 100%; min-width: 0; }
.page { display: none; scroll-margin-top: 88px; }
.page.active { display: block; }
h2 { margin: 0 0 10px; font-size: 30px; line-height: 1.2; font-weight: 600; letter-spacing: -.4px; }
h2 small { display: block; margin-top: 4px; color: var(--muted); font: 400 15px var(--sans); letter-spacing: 0; }
h3 { font-size: 17px; margin: 32px 0 12px; font-weight: 600; }
h3 small { color: var(--muted); font: 400 14px var(--sans); }
.panel h3:first-child { margin-top: 0; }
.crumb { margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.crumb a { color: var(--muted); text-decoration: none; }
.crumb a:hover { color: var(--accent); }
.lead { margin: 0 0 24px; max-width: 68ch; color: var(--text-2); font-size: 16.5px; line-height: 1.65; }

/* ---------- ana sayfa ---------- */
.hero { position: relative; overflow: hidden; margin: -32px calc(-1 * clamp(16px, 4vw, 56px)) 56px; padding: 84px clamp(16px, 4vw, 56px) 64px; background: #0a0b0c; border-bottom: 1px solid var(--line); text-align: center; color: #f2f3f4; }
.hero-art { position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(ellipse 60% 55% at 50% 0%, rgba(140, 198, 63, .16), transparent 70%),
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px; background-position: 0 0, -1px -1px, -1px -1px;
  -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.hero-text { position: relative; max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.hero .eyebrow { margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border: 1px solid #2a2d30; border-radius: 99px; font: 500 12.5px var(--head); letter-spacing: 1.4px; text-transform: uppercase; color: #b4bac0; background: rgba(255, 255, 255, .03); }
.hero .eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px rgba(140, 198, 63, .2); }
.hero h1 { font-size: clamp(34px, 5.2vw, 56px); line-height: 1.08; margin: 4px 0 0; font-weight: 600; color: #fff; letter-spacing: -1px; }
.hero p { margin: 0; font-size: 17px; line-height: 1.6; color: #b4bac0; max-width: 580px; }
.hero-search { position: relative; width: 100%; max-width: 580px; margin-top: 10px; text-align: left; }
.hero-search > .ico { position: absolute; left: 18px; top: 17px; width: 20px; height: 20px; color: #8b9198; pointer-events: none; }
.hero-search input { height: 54px; padding: 0 18px 0 50px; font: 16px var(--sans); background: #141517; border: 1px solid #33373b; border-radius: 8px; color: #f2f3f4; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.hero-search input::placeholder { color: #7d838a; }
.hero-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(140, 198, 63, .15), 0 10px 30px rgba(0, 0, 0, .35); }
.hero-res { position: absolute; z-index: 5; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none; background: #17181a; border: 1px solid #33373b; border-radius: 8px; box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.hero-res a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 5px; text-decoration: none; color: #e6e8ea; font-size: 15px; }
.hero-res a small { color: #7d838a; font-size: 12.5px; white-space: nowrap; }
.hero-res a:hover, .hero-res li:first-child a { background: rgba(140, 198, 63, .1); }
.hero-res a:hover span, .hero-res li:first-child a span { color: var(--accent); }
.hero-res .none { padding: 10px 12px; color: #8b9198; font-size: 14px; }
.hero-cta { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.btn.cta, .hero-cta .btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; font: 600 13px var(--head); letter-spacing: .6px; text-transform: uppercase; text-decoration: none; border-radius: 6px; }
.hero-cta .btn:not(.primary) { background: transparent; color: #f2f3f4; border-color: #3a3e42; }
.hero-cta .btn:not(.primary):hover { border-color: var(--accent); color: var(--accent); }

.sec-head { text-align: center; margin: 0 auto 26px; max-width: 640px; }
.sec-head .label { margin: 0 0 8px; font: 500 12.5px var(--head); letter-spacing: 1.6px; text-transform: uppercase; color: var(--accent); }
.sec-head h2 { margin: 0 0 8px; font-size: 28px; }
.sec-head p { margin: 0; color: var(--text-2); }
.quick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin-bottom: 28px; }
.qcard { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; text-decoration: none; transition: border-color .15s, transform .15s, background .15s; }
.qcard:hover { border-color: color-mix(in srgb, var(--accent) 60%, transparent); background: color-mix(in srgb, var(--surface) 92%, var(--accent)); transform: translateY(-2px); }
.qcard .qg { font: 500 11.5px var(--head); letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }
.qcard .qt { font: 600 15.5px var(--head); padding-right: 22px; }
.qcard .qv { font: 500 19px var(--mono); color: var(--accent); margin-top: 4px; }
.qcard .qd { font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.qcard .qa { position: absolute; top: 18px; right: 16px; color: var(--muted); transition: color .15s, transform .15s; }
.qcard:hover .qa { color: var(--accent); transform: translateX(3px); }
.recent { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0 0 64px; font-size: 14px; color: var(--muted); }
.recent span { margin-right: 4px; }
.recent a { padding: 4px 11px; border: 1px solid var(--line); border-radius: 99px; color: var(--text-2); text-decoration: none; font-size: 13.5px; }
.recent a:hover { border-color: var(--accent); color: var(--accent); }
.quick-grid + .sec-head { margin-top: 64px; }
.cat-grid { columns: 3 300px; column-gap: 16px; margin-bottom: 72px; }
.cat { break-inside: avoid; margin-bottom: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 20px 20px 10px; }
.cat-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.cat-icon { width: 40px; height: 40px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); border-radius: 8px; flex: none; }
.cat-icon .ico { width: 20px; height: 20px; }
.cat h3 { margin: 0; font-size: 16.5px; line-height: 1.3; }
.cat h3 span { display: block; margin-top: 2px; font: 400 13px/1.4 var(--sans); color: var(--muted); }
.cat-n { margin-left: auto; align-self: flex-start; font: 600 12px var(--head); font-style: normal; color: var(--muted); background: var(--surface-2); border-radius: 99px; padding: 3px 9px; }
.cat ul { list-style: none; margin: 0; padding: 0; }
.cat li + li { border-top: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.cat li a { display: flex; flex-direction: column; padding: 9px 8px; margin: 0 -8px; border-radius: 5px; text-decoration: none; color: var(--text); font-size: 14.5px; line-height: 1.35; transition: background .12s; }
.cat li a small { color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.cat li a:hover { background: var(--surface-2); }
.cat li a:hover span { color: var(--accent); }
.faq { max-width: 820px; margin: 0 auto 56px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; padding: 16px 0; font: 600 16px var(--head); display: flex; gap: 12px; align-items: center; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; margin-left: auto; font: 400 22px var(--sans); color: var(--accent); }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0 0 16px; color: var(--text-2); max-width: 70ch; }
.about { max-width: 860px; margin: 0 auto 24px; color: var(--text-2); }

/* ---------- panel ve girişler ---------- */
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 26px 28px; }
.panel + .panel, .panel + h3 { margin-top: 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; margin-bottom: 16px; }
label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: var(--text-2); font-weight: 600; letter-spacing: .1px; }
label small { font-weight: 400; }
input, select { background: var(--bg); color: var(--text); border: 1px solid var(--line-2); border-radius: var(--radius); padding: 0 12px; height: 42px; font: 15px var(--mono); width: 100%; transition: border-color .15s, box-shadow .15s; }
select { font-family: var(--sans); font-size: 15px; }
input:hover, select:hover { border-color: #4a4f54; }
input:focus, select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.pair { display: flex; gap: 6px; }
.btn { background: var(--surface-2); color: var(--text); border: 1px solid var(--line-2); border-radius: var(--radius); padding: 8px 14px; font: 600 14px var(--sans); cursor: pointer; }
.btn:hover { border-color: var(--accent); color: var(--accent); }
.btn.small { padding: 5px 11px; font-size: 13px; }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn.primary:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: var(--on-accent); }
.presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }

/* ---------- sonuçlar ---------- */
.result { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.result:not(:empty) { margin: 24px 0 8px; }
.stat { background: var(--stat-bg); border: 1px solid transparent; border-radius: 6px; padding: 12px 15px 13px; cursor: copy; transition: border-color .15s; }
.stat:hover { border-color: var(--line); }
.stat .k { color: var(--muted); font-size: 12.5px; line-height: 1.35; margin-bottom: 4px; }
.stat .v { font: 500 18px/1.3 var(--mono); letter-spacing: -.1px; }
.stat.hl { border-color: color-mix(in srgb, var(--accent) 55%, transparent); background: var(--accent-soft); }
.stat.hl .v { color: var(--accent); font-size: 22px; font-weight: 600; }
.stat.ok .v { color: var(--ok); }
.stat.bad .v { color: var(--bad); }
.stat.mid .v { color: var(--mid); }

/* ---------- tablolar ---------- */
.scroll { overflow: auto; max-height: 70vh; margin: 16px 0; border: 1px solid var(--line); border-radius: 6px; background: var(--bg); }
.scroll.edit { max-height: none; }
.tbl { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; font-size: 14px; }
.panel > .tbl, .panel > table { margin: 12px 0; }
.tbl th { position: sticky; top: 0; z-index: 2; background: var(--surface-2); text-align: left; color: var(--text-2); font: 500 12.5px var(--head); padding: 10px 14px; border-bottom: 1px solid var(--line-2); white-space: nowrap; letter-spacing: .1px; }
.tbl td { padding: 8px 14px; border-top: 1px solid var(--line); vertical-align: middle; color: var(--text-2); }
.tbl tbody tr:first-child td { border-top: 0; }
.tbl.num td { font-family: var(--mono); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tbl tbody tr:hover td { background: var(--surface); }
.tbl tr.sel td { background: var(--accent-soft) !important; color: var(--text); }
.tbl tr.sel td:first-child { color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.tbl td:first-child, .tbl th:first-child { position: sticky; left: 0; z-index: 1; background: var(--bg); }
.tbl th:first-child { z-index: 3; background: var(--surface-2); }
.tbl td:first-child { font-weight: 600; color: var(--text); }
.tbl td b { font-weight: 600; }
.tbl td input { height: 36px; }
.tbl tr.pick { cursor: pointer; }

/* ---------- notlar ---------- */
.note { color: var(--muted); font-size: 14px; margin: 12px 0 0; line-height: 1.6; }
.hint-row { color: var(--muted); font-size: 14px; margin: 8px 0 0; }
details.info { margin-top: 18px; border-top: 1px solid var(--line); }
details.info summary { cursor: pointer; padding: 12px 0; color: var(--text-2); font: 600 14px var(--head); list-style: none; display: flex; align-items: center; gap: 8px; }
details.info summary::-webkit-details-marker { display: none; }
details.info summary::after { content: "+"; margin-left: auto; color: var(--accent); font: 400 20px var(--sans); }
details.info[open] summary::after { content: "−"; }
details.info .note { margin: 0 0 8px; max-width: 80ch; }
details.cad-help { margin-top: 20px; }
details.cad-help summary { font-size: 15px; color: var(--text); }
.cad-hg { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 8px 32px; padding-bottom: 12px; }
.cad-hg h4 { margin: 10px 0 6px; font: 600 14px var(--head); color: var(--accent); }
.cad-hg dl { margin: 0; display: grid; grid-template-columns: 150px 1fr; gap: 8px 12px; align-items: baseline; }
.cad-hg dt kbd { display: inline-block; font: 600 12px var(--sans); color: var(--text); background: var(--bg); border: 1px solid var(--line-2); border-radius: 4px; padding: 2px 8px; margin: 0 4px 4px 0; }
.cad-hg dd { margin: 0; color: var(--text-2); font-size: 14px; line-height: 1.5; }
@media (max-width: 520px) { .cad-hg { grid-template-columns: 1fr; } .cad-hg dl { grid-template-columns: 1fr; gap: 2px; } .cad-hg dd { margin-bottom: 8px; } }

/* ---------- çizim alanı ---------- */
.diagram { width: 100%; max-width: 480px; margin-top: 16px; display: block; }
.diagram text { font-family: var(--mono); }
.sheet {
  display: flex; flex-direction: column; gap: 8px; margin: 20px 0 8px; max-width: 760px; padding: 16px;
  border: 1px solid var(--line); border-radius: 6px; background-color: var(--bp-bg);
  background-image: linear-gradient(var(--bp-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bp-grid) 1px, transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px;
}
.sheet > .diagram, .sheet > svg, .sheet > .fitbar { margin: 0; max-width: none; width: 100%; border: 0; background: none; }
.titleblock { order: -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; font: 500 11.5px var(--mono); letter-spacing: .6px; text-transform: uppercase; color: var(--bp-ink); }
.titleblock > div { display: flex; gap: 6px; }
.titleblock small { display: none; }
.titleblock > div:first-child { flex: 1 1 auto; color: var(--text-2); }
.titleblock > div:nth-child(2) b::after { content: ","; }
.titleblock > div:nth-child(4) { display: none; }
.titleblock b { font-weight: 400; }
.fitbar svg { width: 100%; height: auto; display: block; }
.diagram.scale { max-width: none; }

/* ---------- grafikler ---------- */
.bars { display: grid; gap: 8px; margin: 10px 0 20px; max-width: 720px; }
.bar-row { display: grid; grid-template-columns: 150px 1fr 120px; align-items: center; gap: 10px; font-size: 14px; color: var(--muted); }
.bar-row .bt { height: 10px; background: var(--surface-2); }
.bar-row .bt i { display: block; height: 100%; background: var(--line-2); transition: width .25s; }
.bar-row .bv { font-family: var(--mono); color: var(--text); text-align: right; }
.bar-row.hl { color: var(--text); font-weight: 700; }
.bar-row.hl .bt i { background: var(--accent); }
.cols { display: flex; align-items: stretch; gap: 4px; height: 200px; margin: 10px 0 22px; padding: 12px; background: var(--bg); border: 1px solid var(--line); overflow-x: auto; }
.col { flex: 1 0 30px; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 30px; }
.col .ct { flex: 1; width: 70%; display: flex; align-items: flex-end; }
.col .ct i { display: block; width: 100%; background: var(--line-2); transition: height .25s; }
.col .cv { font: 10.5px var(--mono); color: var(--muted); white-space: nowrap; }
.col .cl { font-size: 11px; color: var(--muted); }
.col.hl .ct i { background: var(--accent); }
.col.hl .cv, .col.hl .cl { color: var(--accent); font-weight: 700; }
.tag { display: inline-block; white-space: nowrap; padding: 1px 9px; border-radius: 2px; font-size: 13px;
  color: var(--c); background: color-mix(in srgb, var(--c) 13%, transparent); border: 1px solid color-mix(in srgb, var(--c) 40%, transparent); }

/* ---------- ısıl işlem: künye ve işlem planı ---------- */
.steel-id { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 0; margin: -2px 0 20px; font-size: 14px; color: var(--muted); }
.steel-id b { font: 600 16px var(--head); color: var(--text); margin-right: 14px; }
.steel-id span + span::before { content: ""; display: inline-block; width: 1px; height: 12px; background: var(--line-2); margin: 0 10px; vertical-align: -1px; }
.plan-box { margin: 4px 0 22px; padding: 20px 22px; border-left: 1px solid var(--accent); background: var(--accent-soft); }
.plan-box h3 { margin: 0 0 12px; }
.steps { list-style: none; counter-reset: step; margin: 4px 0 10px; padding: 0; }
.steps li { counter-increment: step; display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.steps li::before { content: counter(step); grid-row: span 2; width: 28px; height: 28px; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); font: 600 14px var(--head); }
.steps li b { font: 600 15px var(--head); }
.steps li span { color: var(--text-2); font-size: 15px; }
.plan-box .hint-row { font-size: 15px; color: var(--text); margin: 4px 0 14px; }
.plan-box .btn.primary { min-height: 44px; padding: 0 20px; font-family: var(--head); text-transform: uppercase; letter-spacing: .5px; font-size: 13px; }

/* ---------- bildirim ve alt bilgi ---------- */
.toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: #0a0b0c; color: #fff; border-left: 1px solid var(--accent); padding: 10px 16px; font-size: 15px; transition: opacity .2s, transform .2s; z-index: 50; max-width: calc(100% - 32px); }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.footer { color: #9ba1a8; font-size: 14px; text-align: center; padding: 28px 20px; background: #0a0b0c; border-top: 1px solid #1f2123; }
.footer { display: grid; gap: 10px; justify-items: center; }
.ft-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center; }
.ft-name { color: #e8eaed; font-weight: 700; letter-spacing: .02em; text-decoration: none; font-size: 15px; }
.ft-ic { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid #2a2d30; border-radius: 50%; color: #c9ccd0; }
.ft-ic .ico { width: 17px; height: 17px; }
.ft-ic:hover, .ft-name:hover, .ft-link:hover { color: var(--accent); border-color: var(--accent); }
.ft-link { color: #9ba1a8; text-decoration: underline; text-underline-offset: 3px; }
.ct-card { max-width: 640px; }
.ct-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.ct-head b { display: block; font-size: 20px; }
.ct-head span { color: var(--muted); font-size: 14px; }
.ct-mark { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #0a0b0c; font-weight: 800; font-size: 18px; }
.ct-links { display: grid; gap: 8px; margin-top: 16px; }
.ct-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.ct-link:hover { border-color: var(--accent); }
.ct-link .ico { width: 22px; height: 22px; flex: none; color: var(--accent); }
.ct-link small { display: block; color: var(--muted); font-size: 12px; }
/* kurumsal iletişim */
.ct-wrap { display: grid; gap: 16px; max-width: 880px; }
.ct-wrap .ct-card { max-width: none; margin: 0; }
.ct-wrap .ct-links { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.ct-h { margin: 0 0 12px; font: 600 17px var(--head); }
.ct-topics { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px; }
.ct-topics li { padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 6px; border-left: 1px solid var(--accent); }
.ct-topics b { display: block; margin-bottom: 4px; }
.ct-topics span { color: var(--muted); font-size: 14px; }
.ct-partner { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--text); }
.ct-partner:hover { border-color: var(--accent); }
.ct-partner img { flex: none; border-radius: 8px; }
.ct-partner span { flex: 1; }
.ct-partner b { display: block; font-size: 16px; }
.ct-partner small { color: var(--muted); }
.ct-partner em { font-style: normal; color: var(--accent); font-weight: 600; white-space: nowrap; }
.ft-tel { color: #e8eaed; text-decoration: none; font-variant-numeric: tabular-nums; }
.ft-tel:hover { color: var(--accent); }
/* üst şerit: Bursa Cıvata bağlantısı */
.bc-link { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px 0 8px; border: 1px solid #2a2d30; border-radius: var(--radius); color: #e6e8ea; text-decoration: none; font: 600 14px var(--head); }
.bc-link img { border-radius: 5px; }
.bc-link:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 520px) { .bc-link span { display: none; } .bc-link { padding: 0 9px; } }
/* sol menü: en altta iletişim */
.sidebar .nav-contact { display: flex; align-items: center; gap: 9px; margin-top: 10px; padding: 12px 8px; border-top: 1px solid var(--line); color: var(--text); text-decoration: none; font: 600 14px var(--head); }
.sidebar .nav-contact .ico { flex: none; width: 18px; height: 18px; color: var(--accent); }
.sidebar .nav-contact:hover { color: var(--accent); }
.sidebar .nav-contact.sub { margin-top: 0; border-top: 0; padding-top: 4px; font-weight: 500; color: var(--text-2); }
.ct-safe { border-left: 1px solid var(--accent); }

/* ---------- telefon ---------- */
.bottom-nav { display: none; }
@media (max-width: 800px) {
  .layout, body.nav-collapsed .layout { grid-template-columns: minmax(0, 1fr); }
  .sidebar { display: none; position: fixed; top: 64px; left: 0; bottom: 60px; width: min(330px, 88vw); max-height: none; z-index: 20; visibility: visible !important; }
  .sidebar.open { display: block; }
  .sidebar a { padding: 10px 10px 10px 33px; font-size: 15.5px; }
  .grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  input, select { font-size: 16px; height: 46px; }
  .panel { padding: 18px; }
  .topbar { padding: 0 14px; }
  h2 { font-size: 26px; }
  .hero { padding: 52px 16px 44px; }
  .bottom-nav { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: #0a0b0c; border-top: 1px solid #1f2123; padding-bottom: env(safe-area-inset-bottom); }
  .bottom-nav a, .bottom-nav button { flex: 1; min-height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: none; border: 0; color: #9ba1a8; font: 600 11px var(--sans); text-decoration: none; cursor: pointer; }
  .bottom-nav .ico { width: 20px; height: 20px; }
  .bottom-nav .on { color: var(--accent); }
  body { padding-bottom: 60px; }
  .footer { padding-bottom: 84px; }
  .toast { bottom: 78px; }
}
@media (max-width: 600px) {
  .bar-row { grid-template-columns: 90px 1fr 90px; font-size: 13px; }
  .cat-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 3D tasarım (kademeli mil) ---------- */
.cad-steps td { padding: 6px 8px; }
.cad-steps td:first-child { width: 40px; text-align: center; }
.cad-steps input { min-width: 80px; }
.cad-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.cad-msg { color: var(--muted); font-size: 14px; }
.cad-3d-panel { padding: 0; overflow: hidden; }
.cad-3d-panel .cad-row { padding: 0 20px 18px; }
.cad-view { position: relative; height: 440px; background: radial-gradient(ellipse at 50% 35%, #2a2e33, #121416 75%); }
:root[data-theme="light"] .cad-view { background: radial-gradient(ellipse at 50% 35%, #ffffff, #dfe3e7 80%); }
.cad-view canvas { display: block; width: 100%; height: 100%; cursor: grab; }
.cad-view canvas:active { cursor: grabbing; }
.cad-wait { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--muted); font-size: 14px; text-align: center; padding: 0 20px; }
.cad-sheet { margin-top: 8px; background: #fff; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; box-shadow: 0 8px 28px rgba(0, 0, 0, .28); }
.cad-sheet svg { display: block; width: 100%; height: auto; }
@media (max-width: 800px) { .cad-view { height: 320px; } }

/* ---------- lazer kesim sac: tezgâh (şablon | çizim | özellikler) ---------- */
.lz-app { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
body.lz-noscroll { overflow: hidden; }
/* tam ekran: tezgâh ekranı doldurur, paneller kendi içinde kayar, alt sekmeler aşağıda */
.lz-fsbar { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-bottom: 8px; }
.lz-fsbar [data-fsx] { display: inline-flex; align-items: center; gap: 7px; background: var(--accent); border-color: var(--accent); color: #0e0f10; font-weight: 700; }
.lz-fsbar [data-fsx]:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
.lz-fsbar [data-fsx] .ico { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; }
.lz-fsbar .fs-on, .lz-shell.lz-fs .lz-fsbar .fs-off { display: none; }
.lz-shell.lz-fs .lz-fsbar .fs-on { display: inline; }
.lz-shell.lz-fs .lz-fsbar [data-fsx] { background: transparent; border-color: var(--line-2); color: var(--text); font-weight: 600; }
.lz-shell.lz-fs { position: fixed; inset: 0; z-index: 50; background: var(--bg); overflow-y: auto; padding: 0 12px 20px; }
.lz-shell.lz-fs .lz-fsbar { display: flex; align-items: center; justify-content: flex-start; gap: 14px; position: sticky; top: 0; z-index: 6; height: 42px; background: var(--bg); border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.lz-fsbar b { font: 600 15px var(--head); }
.lz-fsbar > span { color: var(--muted); font-size: 12.5px; }
.lz-fsbar .btn { margin-left: auto; }
.lz-shell.lz-fs .lz-app { display: flex; flex-direction: column; height: calc(100vh - 42px - 20px); margin: 0; }
.lz-shell.lz-fs .lz-work { flex: 1; min-height: 0; grid-template-rows: minmax(0, 1fr); }
.lz-shell.lz-fs .lz-left, .lz-shell.lz-fs .lz-right { height: auto; min-height: 0; }
.lz-shell.lz-fs .lz-center { min-height: 0; }
.lz-shell.lz-fs .lz-stage { flex: 1; height: auto; min-height: 0; }
/* tam ekranda uyarılar yerleşimde yer kaplamaz: çizimin üstünde küçük bir kutu (aksi hâlde dosya açınca çizim alanı daralıyordu) */
.lz-shell.lz-fs [id$="-warn"] { position: absolute; left: 292px; bottom: 54px; z-index: 7; max-width: min(620px, calc(100% - 660px)); max-height: 150px; overflow: auto; padding: 2px 0; background: color-mix(in srgb, var(--surface) 94%, transparent); border: 1px solid var(--line-2); border-radius: 6px; box-shadow: 0 6px 20px rgba(0, 0, 0, .35); }
.lz-shell.lz-fs [id$="-warn"]:empty { display: none; }
.lz-shell.lz-fs [id$="-warn"] .lz-w { margin: 4px 10px; font-size: 12.5px; }
.lz-shell.lz-fs .cd-paper svg { max-height: calc(100vh - 210px); }
.lz-spec { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.lz-spec label { min-width: 220px; }
.lz-spec label.lz-sm { min-width: 0; width: 110px; }
.lz-spec input, .lz-spec select { height: 38px; }
.lz-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.lz-chip { display: flex; flex-direction: column; justify-content: center; padding: 4px 12px; min-height: 38px; border-radius: 4px; background: var(--stat-bg); border: 1px solid var(--line); }
.lz-chip span { font-size: 11px; color: var(--muted); line-height: 1.2; }
.lz-chip b { font: 600 14.5px/1.25 var(--mono); font-variant-numeric: tabular-nums; }
.lz-chip.hl { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.lz-chip.hl b { color: var(--accent); font-size: 17px; }
.lz-chip.bad b { color: var(--bad); }
.lz-work { display: grid; grid-template-columns: 250px minmax(0, 1fr) 290px; }
.lz-left, .lz-right { height: 676px; overflow-y: auto; padding: 12px 14px; background: var(--surface); }
.lz-left { border-right: 1px solid var(--line); }
.lz-right { border-left: 1px solid var(--line); }
.lz-seg { display: inline-flex; background: var(--bg); border: 1px solid var(--line-2); border-radius: 4px; padding: 2px; gap: 2px; }
.lz-seg button { background: none; border: 0; color: var(--text-2); font: 600 12.5px var(--sans); padding: 6px 11px; border-radius: 3px; cursor: pointer; white-space: nowrap; }
.lz-seg button:hover { color: var(--text); }
.lz-seg button.on { background: var(--accent); color: var(--on-accent); }
.lz-left > .lz-seg { display: flex; margin-bottom: 12px; }
.lz-left > .lz-seg button { flex: 1; }
.lz-segf { display: flex; width: 100%; margin-bottom: 12px; }
.lz-segf button { flex: 1; padding: 6px 4px; }
.lz-cur { background: var(--bg); border: 1px solid var(--line); border-radius: 4px; padding: 10px; margin-bottom: 14px; }
.lz-curh { display: flex; align-items: center; justify-content: space-between; gap: 6px; font: 600 13.5px var(--head); margin-bottom: 10px; }
.lz-curh small { font: 500 11px var(--sans); color: var(--mid); border: 1px solid currentColor; border-radius: 3px; padding: 0 5px; }
.lz-cur .lz-pg { margin-bottom: 0; }
.lz-cur label { font-size: 11.5px; gap: 4px; }
.lz-cur input { height: 32px; font-size: 13.5px; padding: 0 8px; }
.lz-cats { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.lz-cats button { background: none; border: 1px solid var(--line-2); color: var(--text-2); border-radius: 20px; padding: 3px 10px; font: 600 12px var(--sans); cursor: pointer; }
.lz-cats button.on, .lz-cats button:hover { border-color: var(--accent); color: var(--accent); }
.lz-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lz-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 6px 7px; background: var(--bg); border: 1px solid var(--line); border-radius: 4px; color: var(--text-2); font: 600 11.5px/1.25 var(--sans); text-align: center; cursor: pointer; }
.lz-card svg { width: 100%; height: 56px; }
.lz-card:hover { border-color: var(--line-2); color: var(--text); }
.lz-card.on { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.lz-tp { fill: var(--accent-soft); stroke: var(--text-2); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.lz-card.on .lz-tp { stroke: var(--accent); }
.lz-tb { stroke: #e0b43c; stroke-width: 1; stroke-dasharray: 3 2; vector-effect: non-scaling-stroke; }
.lz-node { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 4px; cursor: pointer; border: 1px solid transparent; }
.lz-node:hover { background: var(--surface-2); }
.lz-node.on { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.lz-node.bad .lz-nn { color: var(--bad); }
.lz-ni svg { width: 18px; height: 18px; fill: none; stroke: var(--text-2); stroke-width: 1.6; display: block; }
.lz-node.on .lz-ni svg { stroke: var(--accent); }
.lz-nn { flex: 1; min-width: 0; font-size: 13.5px; color: var(--text); display: flex; flex-direction: column; line-height: 1.3; }
.lz-nn small { color: var(--muted); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lz-nc { font: 600 12px var(--mono); color: var(--accent); }
.lz-nx { background: none; border: 0; color: var(--muted); cursor: pointer; padding: 2px 4px; font-size: 12px; visibility: hidden; }
.lz-node:hover .lz-nx { visibility: visible; }
.lz-nx:hover { color: var(--bad); }
.lz-center { display: flex; flex-direction: column; min-width: 0; container-type: inline-size; }
@container (max-width: 700px) { .lz-tool span { display: none; } .lz-tool { padding: 0 7px; } }
.lz-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 7px 10px; border-bottom: 1px solid var(--line); background: var(--surface); }
.lz-tool { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 10px; background: none; border: 1px solid transparent; border-radius: 4px; color: var(--text-2); font: 600 12.5px var(--sans); cursor: pointer; }
.lz-tool svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lz-tool:hover:not(:disabled) { background: var(--surface-2); border-color: var(--line-2); color: var(--accent); }
.lz-tool:disabled { opacity: .35; cursor: default; }
.lz-tool.ic { padding: 0 7px; }
.lz-sep { flex: 1; }
.lz-mode { margin: 0 4px; }
.lz-stage { position: relative; height: 590px; background: var(--bp-bg); }
.lz-stage svg#lz-svg, .lz-stage svg#vw-svg { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; outline: none; }
.lz-stage svg[hidden] { display: none; }
.lz-stage svg#lz-svg:active { cursor: grabbing; }
.lz-3d { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 35%, #2a2e33, #121416 75%); }
:root[data-theme="light"] .lz-3d { background: radial-gradient(ellipse at 50% 35%, #ffffff, #dfe3e7 80%); }
.lz-3d canvas { display: block; width: 100%; height: 100%; cursor: grab; }
.lz-foldbar { position: absolute; left: 12px; bottom: 12px; display: flex; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; background: color-mix(in srgb, var(--surface) 88%, transparent); border: 1px solid var(--line); border-radius: 4px; font: 600 12.5px var(--sans); color: var(--text-2); }
.lz-foldbar label { flex-direction: row; align-items: center; gap: 8px; font-size: 12.5px; }
.lz-foldbar input[type=range] { width: 160px; height: auto; padding: 0; border: 0; box-shadow: none; background: none; accent-color: var(--accent); }
.lz-foldbar #lz-foldv { min-width: 38px; font: 12.5px var(--mono); font-variant-numeric: tabular-nums; }
.lz-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 6px 12px; border-top: 1px solid var(--line); font: 12px var(--mono); color: var(--muted); font-variant-numeric: tabular-nums; }
.lz-status label { flex-direction: row; align-items: center; gap: 6px; font: 12px var(--sans); color: var(--muted); }
.lz-status select { height: 26px; width: auto; padding: 0 6px; font-size: 12px; }
.lz-status .lz-chk input { height: 14px; width: 14px; }
.lz-status .lz-sel { margin-left: auto; color: var(--accent); }
.lz-right h4 { margin: 2px 0 10px; font: 600 13.5px var(--head); }
.lz-right h4 small { color: var(--muted); font-weight: 400; margin-left: 6px; }
.lz-right input, .lz-right select { height: 34px; font-size: 13.5px; padding: 0 9px; }
.lz-right label { font-size: 11.5px; gap: 4px; }
.lz-pg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; margin-bottom: 14px; }
.lz-pg .btn { align-self: end; height: 34px; padding: 0 8px; font-size: 12.5px; }
.lz-full { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; }
.lz-hint { color: var(--muted); font-size: 13px; margin: 0 0 12px; line-height: 1.5; }
.lz-hint:empty { display: none; }
#lz-pmsg { color: var(--bad); margin: 8px 0 0; }
.lz-keys { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: var(--text-2); margin-bottom: 16px; }
.lz-keys kbd { display: inline-block; min-width: 72px; font: 600 11px var(--mono); color: var(--text); background: var(--bg); border: 1px solid var(--line-2); border-radius: 3px; padding: 1px 6px; margin-right: 6px; }
.lz-vt { max-height: 240px; overflow: auto; border: 1px solid var(--line); border-radius: 4px; }
.lz-vt .tbl th, .lz-vt .tbl td { padding: 4px 5px; font-size: 12px; }
.lz-vt .tbl td input { height: 28px; padding: 0 5px; font-size: 12.5px; min-width: 52px; }
.lz-chk { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; cursor: pointer; font-size: 13px; }
.lz-chk input { width: 16px; height: 16px; accent-color: var(--accent); }
.lz-right .lz-chk input { height: 16px; }
.lz-checks { display: flex; flex-wrap: wrap; gap: 8px 24px; }
#lz-warn:not(:empty) { padding: 8px 16px; border-top: 1px solid var(--line); }
.lz-w { margin: 3px 0; color: var(--bad); font-size: 13.5px; }
.lz-btabs { display: flex; flex-wrap: wrap; margin: 22px 0 0; }
.lz-btabs button { padding: 8px 16px; font-size: 13.5px; }
.lz-bpane { margin-top: 10px; }
.lz-bpane .result:not(:empty) { margin-top: 0; }
.lz-bpane .grid + .result:not(:empty) { margin-top: 16px; }
/* çizim alanı öğeleri */
.lz-g0 { stroke: var(--bp-grid); stroke-width: 1; fill: none; }
.lz-g1 { stroke: var(--line); stroke-width: 1; fill: none; }
.lz-fill { fill: var(--accent-soft); pointer-events: none; }
.lz-out { fill: none; stroke: var(--text); stroke-width: 1.6; pointer-events: none; }
.lz-out.on { stroke: var(--accent); stroke-width: 2.4; }
.lz-hit { fill: none; stroke: transparent; stroke-width: 12; cursor: pointer; }
.lz-hit2 { fill: transparent; cursor: move; }
.lz-in { fill: var(--bp-bg); stroke: var(--mid); stroke-width: 1.4; cursor: move; }
.lz-in.hov { stroke-width: 2.4; }
.lz-in.on { stroke: var(--accent); stroke-width: 2.4; }
.lz-in.bad { stroke: var(--bad); }
.lz-bend { stroke: #e0b43c; stroke-width: 1.3; stroke-dasharray: 9 4; pointer-events: none; }
.lz-bend.dn { stroke-dasharray: 2 3; }
.lz-bend.on { stroke: var(--accent); stroke-width: 2.2; }
.lz-bt { fill: #e0b43c; font-family: var(--mono); pointer-events: none; }
.lz-hv { fill: var(--bg); stroke: var(--text-2); stroke-width: 1.2; cursor: move; }
.lz-hv:hover { stroke: var(--accent); }
.lz-hv.on { fill: var(--accent); stroke: var(--accent); }
.lz-hf { stroke: var(--muted); stroke-width: 1; fill: none; pointer-events: none; }
.lz-hf.on { stroke: var(--accent); }
.lz-org { stroke: var(--bad); stroke-width: 1.5; fill: none; pointer-events: none; }
.lz-dim { stroke: var(--muted); stroke-width: 1; fill: none; pointer-events: none; }
.lz-lead { stroke: var(--accent); stroke-width: 1; stroke-dasharray: 4 3; fill: none; pointer-events: none; }
.lz-dt { fill: var(--text-2); font-family: var(--mono); pointer-events: none; }
.lz-tag { fill: var(--accent); font-family: var(--mono); font-weight: 600; pointer-events: none; paint-order: stroke; stroke: var(--bp-bg); stroke-width: 3px; }
.lz-nest { margin-top: 16px; background: var(--bp-bg); border: 1px solid var(--line); }
.lz-nest svg { display: block; width: 100%; height: auto; max-height: 420px; }
.lz-nsheet { fill: var(--surface-2); stroke: var(--line-2); stroke-width: 3; }
.lz-nedge { fill: none; stroke: var(--line-2); stroke-width: 2; stroke-dasharray: 12 8; }
.lz-npart { fill: var(--accent-soft); stroke: var(--accent); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
@media (max-width: 1250px) {
  .lz-work { grid-template-columns: 220px minmax(0, 1fr); }
  .lz-right { grid-column: 1 / -1; height: auto; max-height: none; border-left: 0; border-top: 1px solid var(--line); }
  .lz-chips { margin-left: 0; }
}
@media (max-width: 760px) {
  .lz-work { grid-template-columns: 1fr; }
  .lz-left { order: 2; height: auto; max-height: 420px; border-right: 0; border-top: 1px solid var(--line); }
  .lz-center { order: 1; }
  .lz-right { order: 3; }
  .lz-stage { height: 420px; }
  .lz-tool span { display: none; }
  .lz-spec label { min-width: 0; flex: 1 1 140px; }
}

/* kademeli mil tezgâhı */
.cd-sil { display: block; width: 100%; height: 64px; margin-bottom: 10px; background: var(--bg); border: 1px solid var(--line); border-radius: 4px; cursor: pointer; }
.cd-ax { stroke: var(--line-2); stroke-width: 0.6; stroke-dasharray: 4 2; vector-effect: non-scaling-stroke; }
.cd-sr { fill: var(--surface-2); stroke: var(--text-2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.cd-sr:hover { fill: var(--accent-soft); }
.cd-sr.on { fill: var(--accent-soft); stroke: var(--accent); stroke-width: 2; }
.cd-node { display: grid; grid-template-columns: 22px 1fr 1fr auto; align-items: end; gap: 6px; padding: 7px 6px; border-radius: 4px; border: 1px solid transparent; cursor: pointer; }
.cd-node:hover { background: var(--surface-2); }
.cd-node.on { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.cd-n { font: 600 13px var(--mono); color: var(--muted); align-self: center; text-align: center; }
.cd-node.on .cd-n { color: var(--accent); }
.cd-node label { font-size: 11px; gap: 2px; }
.cd-node input { height: 30px; padding: 0 6px; font-size: 13.5px; }
.cd-tags { grid-column: 2 / 4; display: flex; gap: 4px; }
.cd-tags:empty { display: none; }
.cd-tags i { font: 600 11px var(--mono); font-style: normal; color: var(--mid); border: 1px solid currentColor; border-radius: 3px; padding: 0 4px; }
.cd-node .lz-nx { grid-row: 1; grid-column: 4; align-self: center; }
.cd-lbtn { display: flex; gap: 6px; margin-top: 10px; }
.cd-end { background: var(--bg); border: 1px solid var(--line); border-radius: 4px; padding: 10px; margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; }
.cd-end h4 { margin: 0; font: 600 13.5px var(--head); }
.cd-end label { font-size: 11.5px; gap: 4px; }
.cd-end input, .cd-end select { height: 32px; font-size: 13.5px; padding: 0 8px; }
.cd-chiprow { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.cd-chiprow button { background: var(--bg); border: 1px solid var(--line-2); color: var(--text-2); border-radius: 3px; padding: 4px 9px; font: 600 12.5px var(--mono); cursor: pointer; }
.cd-chiprow button:hover { border-color: var(--accent); color: var(--accent); }
.cd-chiprow button.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.lz-segf button:disabled { opacity: .4; cursor: default; }
.cd-paper { position: absolute; inset: 0; display: grid; place-items: center; padding: 16px; overflow: auto; }
.cd-paper .cad-sheet { margin: 0; display: inline-block; }
.cd-paper svg { width: auto; height: auto; max-width: 100%; max-height: 556px; }

/* indirme şeridi (tezgâh üstü) */
.lz-dl { display: flex; flex-direction: column; gap: 7px; }
.lz-dl > span { font-size: 13px; font-weight: 600; color: var(--text-2); }
.lz-dl > div { display: flex; height: 38px; }
.lz-dl .btn { border-radius: 0; margin-left: -1px; padding: 0 12px; height: 38px; }
.lz-dl .btn:first-child { border-radius: var(--radius) 0 0 var(--radius); margin-left: 0; }
.lz-dl .btn:last-child { border-radius: 0 var(--radius) var(--radius) 0; }
.lz-dl .btn:disabled { opacity: .5; }
.lz-dl em { font-style: normal; font-size: 12px; color: var(--muted); max-width: 320px; }
.lz-dl em:empty { display: none; }
/* çizim (sketch) */
.lz-tool.on { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.lz-tool.on:hover:not(:disabled) { background: var(--accent-strong); color: var(--on-accent); }
svg#lz-svg.lz-sketching { cursor: crosshair; }
.lz-skp { fill: none; stroke: var(--accent); stroke-width: 2; stroke-dasharray: 6 4; pointer-events: none; }
.lz-skp.done { stroke-dasharray: none; fill: var(--accent-soft); }
.lz-skv { fill: var(--bg); stroke: var(--accent); stroke-width: 1.5; pointer-events: none; }
.lz-skv.st { fill: var(--accent); }
.lz-skc { stroke: var(--accent); stroke-width: 1; pointer-events: none; }
.lz-elen { fill: var(--accent); font-family: var(--mono); pointer-events: none; paint-order: stroke; stroke: var(--bp-bg); stroke-width: 3px; }
.lz-elen.cd-dimk { pointer-events: all; cursor: text; }
#cd-psvg .lz-tag { stroke: none; } /* profil ekranı model biriminde: kenar büyür */
#cd-sheetbox .cd-dref { cursor: move; }
#cd-sheetbox .cd-dref:hover { fill: #2f8a12; text-decoration: underline; }
#cd-sheetbox [data-ai] { cursor: grab; }
.lz-elen.cd-dimk:hover { fill: #fff; text-decoration: underline; }
.cd-dimin { position: absolute; z-index: 6; width: 90px; height: 30px; padding: 0 8px; font: 600 14px var(--mono); text-align: center; border: 2px solid var(--accent); border-radius: 4px; background: var(--surface); color: var(--text); }
/* CAD dosyası görüntüleyici */
.vw-open { height: 38px; align-self: flex-end; }
.vw-drop { position: absolute; inset: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; border: 2px dashed var(--line-2); border-radius: 8px; color: var(--text-2); padding: 20px; }
.vw-drop svg { width: 46px; height: 46px; fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vw-drop b { font: 600 16px var(--head); color: var(--text); }
.vw-drop span { font-size: 13.5px; color: var(--muted); max-width: 420px; }
.lz-stage.vw-dragging .vw-drop, .lz-stage.vw-dragging { outline: 2px solid var(--accent); outline-offset: -2px; }
.vw-busy { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: var(--surface); border: 1px solid var(--line-2); border-radius: 4px; padding: 10px 16px; font-size: 14px; color: var(--text-2); }
.vw-h { margin: 14px 0 8px; font: 600 13px var(--head); }
.vw-h:first-child { margin-top: 2px; }
.vw-h small { color: var(--muted); font: 400 11.5px var(--sans); margin-left: 4px; }
.vw-layer { display: flex; align-items: center; gap: 8px; padding: 3px 2px; font-size: 13px; }
.vw-layer span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vw-layer small { color: var(--muted); font: 11.5px var(--mono); }
.vw-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; font-size: 13px; margin-bottom: 12px; }
.vw-kv span { color: var(--muted); }
.vw-kv b { font: 600 13px var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
.vw-meas { display: flex; align-items: flex-start; gap: 8px; padding: 7px 4px; border-bottom: 1px solid var(--line); font-size: 13px; }
.vw-meas > b { color: var(--accent); font: 600 12px var(--mono); padding-top: 2px; }
.vw-meas span { flex: 1; display: flex; flex-direction: column; }
.vw-meas span b { font: 600 14px var(--mono); }
.vw-meas small { color: var(--muted); font: 11.5px var(--mono); }
.vw-meas .lz-nx { visibility: visible; }
.vw-o { pointer-events: stroke; cursor: pointer; }
.lz-in.vw-hl { stroke: var(--accent); stroke-width: 2.6; }
.vw-open { }
path.vw-open { fill: none; stroke: var(--bad); stroke-width: 2; stroke-dasharray: 4 3; pointer-events: none; }
.vw-ml { fill: none; stroke: var(--accent); stroke-width: 1.4; pointer-events: none; }
.vw-mp { fill: var(--accent); pointer-events: none; }
.vw-snap { fill: none; stroke: #e0b43c; stroke-width: 1.5; pointer-events: none; }
.lz-stage.vw-measuring svg, .lz-stage.vw-measuring canvas { cursor: crosshair; }
.vw-labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.vw-labels span { position: absolute; left: 0; top: 0; background: var(--bg); color: var(--accent); border: 1px solid var(--accent); border-radius: 3px; padding: 1px 6px; font: 600 12px var(--mono); white-space: nowrap; }

/* serbest profil (mil) */
.cd-model { display: flex; margin-bottom: 12px; }
.cd-model button { flex: 1; }
.cd-pcards { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 12px; }
.cd-pcard { background: var(--bg); border: 1px solid var(--line); border-radius: 4px; color: var(--text-2); font: 600 12px/1.3 var(--sans); padding: 8px 6px; cursor: pointer; text-align: center; }
.cd-pcard:hover { border-color: var(--line-2); color: var(--text); }
.cd-pcard.on { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.cd-pnode { display: grid; grid-template-columns: 22px 1fr 1fr 34px; gap: 6px; align-items: center; padding: 5px 6px; border-radius: 4px; font: 12.5px var(--mono); font-variant-numeric: tabular-nums; color: var(--text-2); cursor: pointer; border: 1px solid transparent; }
.cd-pnode:hover { background: var(--surface-2); }
.cd-pnode.on { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--text); }
.cd-pnode i { font-style: normal; color: var(--mid); font-size: 11px; }
.lz-stage svg#cd-psvg { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; outline: none; }
.lz-stage svg#cd-psvg.lz-sketching { cursor: crosshair; }
.cd-axis { stroke: var(--bad); stroke-width: 1; stroke-dasharray: 10 3 2 3; pointer-events: none; }
.cd-ghost { fill: var(--surface-2); stroke: var(--line-2); stroke-width: 1; stroke-dasharray: 4 3; pointer-events: none; opacity: .7; }
.cd-seg { fill: none; stroke: var(--text); stroke-width: 1.8; pointer-events: none; }
.cd-seg.ax { stroke: var(--muted); stroke-dasharray: 3 3; }
.cd-seg.on { stroke: var(--accent); stroke-width: 3; }

/* teknik resim üstünde çizim */
.cd-abar { position: absolute; top: 10px; left: 10px; z-index: 2; }
#cd-sheetbox.cd-adraw svg { cursor: crosshair; }
.cd-ahit { fill: transparent; stroke: none; cursor: pointer; }
.cd-ahit.on { fill: rgba(140, 198, 63, .18); stroke: #5f9a1f; stroke-width: .3; }
.cd-ahitl { stroke: transparent; stroke-width: 3; cursor: pointer; }
.cd-ahitl.on { stroke: rgba(95, 154, 31, .45); }
.cd-aprev { stroke: #5f9a1f; stroke-width: .35; stroke-dasharray: 1.5 1; }
.cd-aprevt { fill: #5f9a1f; font-family: var(--mono); }
.cd-asnap { fill: none; stroke: #5f9a1f; stroke-width: .3; }
.cd-asnap.on { stroke: #d48a00; stroke-width: .45; }
.vw-meas.on { background: var(--accent-soft); }
.vw-meas[data-asel] { cursor: pointer; }

/* ölçüm sonucu */
.vw-res { background: var(--bg); border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius: 4px; padding: 10px 12px; margin-bottom: 12px; }
.vw-rt { font: 600 12.5px var(--sans); color: var(--text-2); margin-bottom: 4px; }
.vw-big { font: 600 24px var(--mono); color: var(--accent); font-variant-numeric: tabular-nums; margin-bottom: 8px; }
.vw-res .vw-kv { margin-bottom: 4px; }
.vw-legend { display: grid; gap: 4px; font-size: 12.5px; color: var(--muted); margin-bottom: 12px; }
.vw-legend b { color: var(--text-2); font-weight: 600; margin-right: 6px; }
/* ölçüm metodu: Genel / Çap / Radius / Uzunluk / Mesafe / Açı / Düzlem */
.vw-mm { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 12px; }
.vw-mm button { flex: 1 1 auto; background: var(--bg); border: 1px solid var(--line-2); color: var(--text-2); border-radius: 3px; padding: 5px 9px; font: 600 12.5px var(--sans); cursor: pointer; }
.vw-mm button:hover { border-color: var(--accent); color: var(--text); }
.vw-mm button.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.vw-mml { display: grid; gap: 3px; max-height: 260px; overflow: auto; margin-bottom: 8px; }
.vw-mml button { display: flex; justify-content: space-between; align-items: center; background: var(--bg); border: 1px solid var(--line-2); border-radius: 3px; padding: 5px 9px; color: var(--text-2); cursor: pointer; font: 12.5px var(--sans); text-align: left; }
.vw-mml button b { font-family: var(--mono); color: var(--text); font-weight: 600; }
.vw-mml button span { font-family: var(--mono); color: var(--muted); }
.vw-mml button:hover, .vw-mml button.on { border-color: var(--accent); }
.vw-mml button.on b { color: var(--accent); }
.vw-mmt { fill: var(--text-2); font-family: var(--mono); font-weight: 600; pointer-events: none; paint-order: stroke; stroke: var(--bp-bg); stroke-width: 3px; }
.vw-hv { fill: none; stroke: #e0b43c; stroke-width: 3; pointer-events: none; }
.vw-hvp { fill: none; stroke: #e0b43c; stroke-width: 2; pointer-events: none; }
.vw-pk { fill: none; stroke: #4fd12a; stroke-width: 3.4; pointer-events: none; }
.vw-pkp { fill: #4fd12a; stroke: var(--bg); stroke-width: 1; pointer-events: none; }
.vw-bil { fill: rgba(140, 198, 63, 0.12); stroke: var(--accent); stroke-width: 1.6; stroke-dasharray: 7 4; pointer-events: none; }
.vw-rl { stroke: var(--accent); stroke-width: 1.4; stroke-dasharray: 5 3; pointer-events: none; }
/* çoklu dosya (CAD aç) */
.vw-qnav { display: inline-flex; align-items: center; gap: 4px; margin-right: 6px; }
.vw-qnav[hidden] { display: none; }
.vw-qnav > span { min-width: 44px; text-align: center; font: 600 12.5px var(--mono); color: var(--text-2); }
.vw-qlist { max-height: 230px; overflow: auto; margin-bottom: 8px; }
.vw-qlist .lz-nn small { display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* DXF yazıları ve ölçü çizgileri */
.vw-txt { fill: var(--text-2); font-family: var(--sans); pointer-events: none; }
.vw-ann { stroke: var(--muted); stroke-width: .9; pointer-events: none; }
/* otomatik ölçülendirme */
.vw-add { stroke: #5fb4f0; stroke-width: 1; pointer-events: none; }
.vw-adx { stroke: #5fb4f0; stroke-width: .7; stroke-dasharray: 3 3; opacity: .55; pointer-events: none; }
.vw-ada { fill: #5fb4f0; pointer-events: none; }
.vw-adc { fill: none; stroke: #5fb4f0; stroke-width: .9; stroke-dasharray: 10 3 2 3; pointer-events: none; }
.vw-adt { fill: #9fd2f6; font-family: var(--mono); font-weight: 600; pointer-events: none; paint-order: stroke; stroke: var(--bp-bg); stroke-width: 3px; }
.vw-adk { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.vw-labels span.on { background: var(--accent); color: var(--on-accent); }
.vw-meas span b { margin-left: 0; }

/* CAD görüntüleyici: maliyet */
.vw-csec { margin: 12px 0 6px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.vw-cbar { display: flex; height: 12px; margin: 10px 0 6px; border-radius: 6px; overflow: hidden; background: var(--line); }
.vw-cbar span { min-width: 2px; }
.vw-cleg { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 8px; font-size: .78rem; color: var(--text-2); }
.vw-cleg i { display: inline-block; width: 9px; height: 9px; margin-right: 5px; border-radius: 2px; vertical-align: -1px; }
.vw-cbar .c-m, .vw-cleg .c-m { background: var(--accent); }
.vw-cbar .c-l, .vw-cleg .c-l { background: #4f9bd9; }
.vw-cbar .c-o, .vw-cleg .c-o { background: #d9a64f; }
.vw-cbar .c-g, .vw-cleg .c-g { background: #8e949b; }
.vw-cbar .c-p, .vw-cleg .c-p { background: #c46ad1; }
.vw-psel { margin: 0 0 10px; padding: 7px 10px; border: 1px solid var(--accent); border-radius: 4px; background: var(--accent-soft); font-size: .86rem; color: var(--text-2); }
.vw-psel b { color: var(--text); }
.vw-psel small { display: block; color: var(--muted); font-size: .76rem; }

/* 3D: yüzeye tıklayınca işlem menüsü */
.cd-pop { position: absolute; z-index: 5; width: 260px; max-height: calc(100% - 12px); overflow: auto; padding: 12px 12px 10px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 6px; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.cd-pop h5 { margin: 0 22px 8px 0; font: 600 14px var(--head); color: var(--text); }
.cd-pop h5 small { color: var(--muted); font-weight: 500; margin-left: 4px; }
.cd-popsec { margin: 8px 0 5px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.cd-pop .cd-chiprow { margin-bottom: 6px; }
.cd-popl { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.cd-popl button { display: flex; justify-content: space-between; align-items: center; gap: 8px; text-align: left; background: var(--bg); border: 1px solid var(--line-2); color: var(--text); border-radius: 4px; padding: 7px 10px; font: 600 13px var(--sans); cursor: pointer; }
.cd-popl button small { color: var(--muted); font-weight: 500; font-size: 11.5px; }
.cd-popl button:hover { border-color: var(--accent); }
.cd-popl button.on { border-color: var(--accent); background: var(--accent-soft); }
/* profil çizimi araç çubuğu (Sketch) */
.cd-sktb { position: absolute; left: 10px; top: 10px; z-index: 4; display: flex; flex-direction: column; gap: 5px; padding: 8px; background: color-mix(in srgb, var(--surface) 94%, transparent); border: 1px solid var(--line-2); border-radius: 6px; box-shadow: 0 6px 20px rgba(0, 0, 0, .35); }
.cd-sktb[hidden] { display: none; }
.cd-sktr { display: flex; flex-wrap: wrap; gap: 4px; }
.cd-sktb button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 4px; color: var(--text); font: 600 12.5px var(--sans); cursor: pointer; }
.cd-sktb button kbd { font: 600 10.5px var(--mono); color: var(--muted); }
.cd-sktb button:hover { border-color: var(--accent); }
.cd-sktb button.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.cd-sktb button.on kbd { color: var(--on-accent); }
.cd-skin { padding: 4px 8px; min-width: 260px; font: 12px var(--mono); color: var(--text-2); background: var(--bg); border: 1px dashed var(--line-2); border-radius: 4px; }
.cd-skin b { color: var(--accent); font-size: 13px; }
.cd-skrev button { font-weight: 700; }
.cd-skf:empty { display: none; }
.cd-skf { align-items: flex-end; gap: 6px; padding: 6px; background: var(--bg); border: 1px solid var(--accent); border-radius: 4px; }
.cd-skf label { display: flex; flex-direction: column; gap: 2px; font-size: 11px; color: var(--muted); }
.cd-skf input { width: 70px; height: 28px; padding: 0 6px; font: 600 13px var(--mono); }
.cd-skl { align-self: center; font-size: 11px; color: var(--muted); margin-right: 2px; }
.cd-skhelp { margin: 6px 0; padding-left: 18px; font-size: 13px; color: var(--text-2); }
.cd-skhelp li { margin-bottom: 6px; }
/* sade yapı: adım başlıkları, katalog, gelişmiş */
.cd-stephd { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; font: 600 14px var(--head); color: var(--text); }
.cd-stephd > b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font-size: 12px; }
.cd-stephd small { color: var(--muted); font-weight: 500; }
.cd-stephd.sm { margin: 0 4px 0 0; font-size: 13px; }
.cd-startb { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 6px; }
.cd-startb .btn { justify-content: center; font-size: 13px; padding: 0 8px; }
.cd-starth { margin: 0 0 6px; }
.cd-quick { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 8px; }
.cd-quick button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 2px 6px; border: 1px solid var(--line, #3a3a3a); border-radius: 8px; background: transparent; color: inherit; cursor: pointer; font-size: 12px; font-weight: 600; }
.cd-quick button:hover, .cd-quick button.on { border-color: #9ad04a; }
.cd-quick svg { width: 100%; max-width: 44px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.cd-quick svg .ax { stroke-dasharray: 3 2; opacity: .6; }
.cd-quick svg .in { opacity: .5; }
.cd-catall > summary { font-weight: 600; color: var(--text-2); }
.cd-cat { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.cd-catg summary { cursor: pointer; padding: 7px 4px; font: 600 13px var(--head); color: var(--text-2); }
.cd-catg[open] summary { color: var(--text); }
.cd-catl { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 2px 0 8px; }
.cd-catl button { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: left; padding: 7px 9px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 4px; color: var(--text); cursor: pointer; font: 600 12.5px var(--sans); }
.cd-catl button small { color: var(--muted); font-weight: 500; font-size: 11px; }
.cd-catl button:hover { border-color: var(--accent); }
.cd-catl button.on { border-color: var(--accent); background: var(--accent-soft); }
.cd-spec { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin: 8px 0 0; padding: 8px 10px; border: 1px solid var(--line-2); border-radius: 4px; font-size: 12.5px; }
.cd-spec dt { color: var(--muted); }
.cd-spec dd { margin: 0; font-family: var(--mono); font-weight: 600; text-align: right; }
.cd-adv { margin: 10px 0; border-top: 1px solid var(--line); padding-top: 6px; }
.cd-adv > summary { cursor: pointer; padding: 6px 2px; font-size: 12.5px; color: var(--muted); }
.cd-adv[open] > summary { color: var(--text-2); }
/* 3D döner pah / R aracı */
.cd-etools { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; }
.cd-etools[hidden] { display: none; }
.cd-etools .lz-tool.on { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.cd-etin { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted); }
.cd-etin[hidden] { display: none; }
.cd-etin input { width: 64px; height: 30px; padding: 0 6px; font-size: 13px; }
/* işlemler (özellik ağacı) */
.cd-feats { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--line); }
.cd-fadd { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.cd-fadd .btn { padding: 0 8px; font-size: 12px; }
.cd-fpick { margin: 0 0 8px; color: var(--accent); }
.cd-flist { display: flex; flex-direction: column; gap: 3px; }
.cd-fnode { display: grid; grid-template-columns: 18px 1fr auto; gap: 6px; align-items: center; padding: 6px; border-radius: 4px; border: 1px solid transparent; cursor: pointer; }
.cd-fnode:hover { background: var(--surface-2); }
.cd-fnode.on { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.cd-fnode span { display: flex; flex-direction: column; min-width: 0; }
.cd-fnode b { font: 600 13px var(--sans); color: var(--text); }
.cd-fnode small { font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cd-fnode.off b, .cd-fnode.off small { opacity: .5; text-decoration: line-through; }
.cd-fnode.bad small { color: var(--bad); }
.btn.cd-del { color: var(--bad); border-color: color-mix(in srgb, var(--bad) 50%, transparent); }
.cd-fnode .lz-nx { color: var(--bad); }
.cd-fnode input[type="checkbox"] { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.cd-popf { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; align-items: end; }
.cd-popf label { font-size: 11px; gap: 2px; }
.cd-popf input { height: 30px; padding: 0 6px; font-size: 13px; }
.cd-popf .btn { height: 30px; }
.cd-pop .lz-hint { margin: 8px 0 0; font-size: 11.5px; }
.cd-popx { position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 14px; }
.cd-popx:hover { color: var(--text); }
.cd-end b small { color: var(--muted); font-weight: 500; }

/* dosya listesi, çalışmalarım, onay penceresi */
.vw-listv { position: absolute; inset: 0; z-index: 4; overflow: auto; padding: 14px 16px; background: var(--surface); }
.vw-lhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 10px; }
.vw-lhead > b { font: 600 15px var(--head); color: var(--text); }
.vw-lhead > span { font-size: 12.5px; color: var(--muted); }
.vw-lref { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); }
.vw-lref input { height: 32px; width: 230px; }
.vw-lstale { color: #e0b341 !important; }
.vw-ltabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%; }
.vw-ltabs > button:not(.btn) { padding: 7px 14px; border: 1px solid var(--line-2); border-radius: 6px; background: transparent; color: var(--text); font-weight: 600; cursor: pointer; }
.vw-ltabs > button.on { background: var(--accent); border-color: var(--accent); color: #0b0b0b; }
.vw-lsp { flex: 1; }
.vw-lh3 { margin: 6px 0 8px; font: 600 14px var(--head); }
.vw-lt { width: 100%; font-size: 12.5px; }
.vw-lt th, .vw-lt td { white-space: nowrap; padding: 6px 8px; }
.vw-lt tbody tr[data-lrow] { cursor: pointer; }
.vw-lt tr.on td { background: color-mix(in srgb, var(--accent) 12%, transparent); }
.vw-lt tr.off td { opacity: .45; }
.vw-lname { max-width: 260px; overflow: hidden; text-overflow: ellipsis; text-align: left; }
.vw-lname small { display: block; color: var(--muted); }
.vw-lna { color: var(--muted); text-align: left; }
.vw-lq { width: 70px; height: 30px; }
.vw-lr { width: 190px; height: 28px; }
.vw-modal { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .6); padding: 16px; }
.vw-modal[hidden] { display: none; }
.vw-mbox { width: min(560px, 100%); max-height: 86vh; overflow: auto; padding: 20px 22px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.vw-mbox h3 { margin: 0 0 8px; font: 600 18px var(--head); }
.vw-msave { display: flex; gap: 8px; margin: 10px 0; }
.vw-msave input { flex: 1; height: 38px; }
.vw-mmsg { color: var(--accent); font-size: 13px; }
.vw-mlist { display: grid; gap: 6px; margin: 8px 0; }
.vw-mrow { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; }
.vw-mrow > span { flex: 1; min-width: 0; }
.vw-mrow small { display: block; color: var(--muted); }
.vw-mact { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.btn.danger { border-color: #c0504d; color: #ff8a86; }
.btn.danger:hover { background: #c0504d; color: #fff; }
/* toplu liste PDF belgesi (yalnız yazdırırken görünür) */
#vw-printdoc { display: none; color: #000; background: #fff; font: 8px/1.3 Arial, sans-serif; }
#vw-printdoc h1 { margin: 0 0 2px; font-size: 14px; }
#vw-printdoc p { margin: 0 0 6px; font-size: 9px; }
#vw-printdoc table { width: 100%; border-collapse: collapse; }
#vw-printdoc th, #vw-printdoc td { border: 1px solid #888; padding: 2px 3px; text-align: right; }
#vw-printdoc th { background: #e8e8e8; font-weight: 700; }
#vw-printdoc td.l { text-align: left; }
#vw-printdoc tfoot td { font-weight: 700; background: #f2f2f2; }
#vw-printdoc .n { margin-top: 6px; color: #444; }
.vw-matinfo { display: block; max-width: 300px; margin-top: 3px; color: var(--muted); font-size: 11.5px; line-height: 1.35; white-space: normal; }
.vw-lmat { min-width: 210px; text-align: left; }
.vw-lmat select { width: 100%; max-width: 250px; height: 30px; }
.vw-lmat small { display: block; max-width: 250px; margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.3; white-space: normal; }
.lz-spec input.mat-q, .mat-q { width: 100%; height: 32px; margin: 0 0 4px; }
.mat-n { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }
.lz-spec label.vw-cn { width: 200px; }
.vw-lcn { width: 150px; height: 28px; margin-top: 3px; }
/* CAD Aç ve Ölç: üst form ve araç çubuğu sıkı tek sıra (3D / çizim alanına yer kalsın) */
#vw-app .lz-spec { gap: 6px 10px; padding: 8px 12px; align-items: center; }
#vw-app .lz-spec input, #vw-app .lz-spec select, #vw-app .vw-open, #vw-app .lz-spec .btn { height: 32px; }
#vw-app .lz-spec .btn { padding-top: 0; padding-bottom: 0; }
#vw-app .lz-spec > label { min-width: 0; flex-direction: row; align-items: center; gap: 6px; font-size: 12.5px; }
#vw-app .lz-spec > label.lz-sm { width: auto; }
#vw-app .lz-spec > label.lz-sm input { width: 84px; }
#vw-app .lz-spec > label.vw-cn { width: auto; }
#vw-app .lz-spec > label.vw-cn input { width: 150px; }
#vw-app .lz-spec > label:has(#vw-mat) input.mat-q { width: 215px; margin: 0; }
#vw-app .lz-spec > label:has(#vw-mat) select { width: 250px; max-width: 100%; }
#vw-app .vw-matinfo, #vw-app .mat-n { display: none; }
#vw-app .lz-chips { gap: 4px; }
#vw-app .lz-chip { min-height: 32px; padding: 2px 9px; }
#vw-app .lz-chip b { font-size: 13px; }
#vw-app .lz-chip.hl b { font-size: 14px; }
#vw-app .lz-tools { padding: 5px 8px; gap: 3px; }
#vw-app .lz-tools .lz-seg button, #vw-app .lz-tools .lz-tool { padding-left: 8px; padding-right: 8px; font-size: 12.5px; }
/* dosya listesi açıkken yan paneller kapanır: tablo tam genişlikte okunur */
#vw-app.vw-listmode .lz-work { grid-template-columns: minmax(0, 1fr); }
#vw-app.vw-listmode .lz-left, #vw-app.vw-listmode .lz-right { display: none; }
.vw-lhelp { margin: 0 0 8px; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.vw-lhelp b { color: var(--text); }
.vw-lt th { white-space: normal; vertical-align: bottom; line-height: 1.25; }
.vw-lt th small { display: block; font-weight: 400; color: var(--muted); font-size: 11px; }
.vw-lt .vw-lpr { width: 96px; text-align: right; font-variant-numeric: tabular-nums; }
.vw-lt select.vw-lsh { min-width: 118px; height: 30px; }
.vw-lt td:nth-child(3), .vw-lt th:nth-child(3) { position: sticky; left: 0; background: var(--surface); z-index: 1; }
.vw-qdel { flex: none; width: 24px; height: 24px; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font-size: 12px; line-height: 1; cursor: pointer; }
.vw-qdel:hover { color: var(--bad); border-color: var(--bad); }
.vw-qlist .lz-node { display: flex; align-items: center; gap: 6px; }
.vw-qlist .lz-nn { flex: 1; min-width: 0; }
.vw-lname .vw-qdel { margin-right: 4px; vertical-align: middle; }
.vw-lt th { min-width: 70px; text-align: center; }
.vw-lt th small { display: block; margin-top: 1px; font-size: 11.5px; color: var(--text-2); }
.vw-ldef { margin-top: 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); }
.vw-ldef summary { cursor: pointer; font-weight: 600; font-size: 13px; }
.vw-ldef dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 8px 0 0; font-size: 12.5px; line-height: 1.45; }
.vw-ldef dt { font-weight: 600; color: var(--text); }
.vw-ldef dd { margin: 0; color: var(--text-2); }
@media (max-width: 700px) { .vw-ldef dl { grid-template-columns: 1fr; } .vw-ldef dd { margin-bottom: 4px; } }
/* listedeki sayı kutuları: 50000 gibi büyük değerler sığsın, ok düğmeleri yer almasın */
.vw-lt input[type="number"] { width: 104px; min-width: 104px; padding-left: 6px; padding-right: 6px; text-align: right; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; }
.vw-lt input[type="number"]::-webkit-outer-spin-button, .vw-lt input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vw-lt input.vw-lpr { width: 104px; }
.vw-lt input[data-lq], .vw-lt input[data-lov], .vw-lt input[data-lpf] { width: 84px; min-width: 84px; }
.vw-lsum { margin-top: 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); max-width: 520px; }
.vw-lsum h4 { margin: 0 0 8px; font-size: 14px; }
.vw-lsum h4 small { margin-left: 8px; font-weight: 400; color: var(--muted); font-size: 11.5px; }
.vw-lsumg { display: grid; grid-template-columns: 1fr max-content; gap: 3px 24px; font-size: 13px; font-variant-numeric: tabular-nums; }
.vw-lsumg span:nth-child(even) { text-align: right; }
.vw-lsumg .b { padding-top: 5px; border-top: 1px solid var(--line); font-weight: 700; }
.vw-lsumg .b:nth-child(even) { color: var(--accent); }
.vw-lt tfoot td { font-weight: 700; font-variant-numeric: tabular-nums; border-top: 2px solid var(--line-2); background: var(--surface-2); }
.vw-lt tfoot td[id^="vw-lf-"] { color: var(--text); }
.vw-savenote { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 10px 0; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius: 6px; background: var(--accent-soft); color: var(--text); font-size: 12.5px; font-weight: 600; }
.vw-savenote .btn { margin-left: auto; }
/* kütük paneli: kutular aynı hizada, birim ince yazıyla; tek kalan kutu tam genişlik */
#vw-prop .lz-pg { align-items: end; }
#vw-prop .lz-pg > label { justify-content: flex-end; }
#vw-prop .lz-pg > label > small.lz-u { display: block; margin-top: -2px; color: var(--muted); font-weight: 400; font-size: 11px; line-height: 1.2; }
#vw-prop .lz-pg > label:last-child:nth-child(odd) { grid-column: 1 / -1; }
#vw-prop .lz-chk { margin: 2px 0 12px; }
/* CAD Aç ve Ölç: düzen cilası (renk ve yazı kimliği aynı) */
/* normal sayfada sonuç çipleri kendi satırında, tam genişlik; tam ekranda tek satıra sığar */
.lz-shell:not(.lz-fs) #vw-app .lz-chips { flex: 1 1 100%; margin-left: 0; padding-top: 6px; border-top: 1px solid var(--line); }
.lz-shell:not(.lz-fs) #vw-app .lz-chip { flex: 0 1 auto; }
/* araç çubuğu: ölçü araçları ve sağdaki düğmeler üst satırda, dosyaya özel eylemler gerekirse altta */
#vw-app .lz-tools > .vw-qnav { order: 1; margin-left: auto; margin-right: 2px; }
#vw-app .lz-tools > .lz-tool.ic { order: 1; }
#vw-app .lz-tools > #vw-src, #vw-app .lz-tools > #vw-tomil, #vw-app .lz-tools > #vw-back3d, #vw-app .lz-tools > #vw-tolaser { order: 2; }
#vw-app .lz-tools > .lz-sep { display: none; }
#vw-app .lz-tools > #vw-fit { margin-left: auto; }
#vw-app .lz-tools > .vw-qnav:not([hidden]) ~ #vw-fit { margin-left: 0; }
#vw-app .lz-tools .lz-seg button { padding-left: 7px; padding-right: 7px; }
#vw-app .lz-tools > .lz-tool { padding-left: 6px; padding-right: 6px; }
#vw-app .lz-tools > .lz-tool.ic { padding: 0; width: 30px; }
/* sol ve sağ panel başlıkları ve satırları: aynı ritim */
#vw-app .lz-left, #vw-app .lz-right { padding-top: 12px; }

/* ana sayfa giriş: sola yaslı başlık + ölçülü mil çizimi (sitenin vaadi: her sonuç ölçülü çizimiyle) */
.hero { display: grid; grid-template-columns: minmax(0, 600px) minmax(260px, 470px); justify-content: center; align-items: center; column-gap: 64px; text-align: left; }
.hero-art { -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); background-image: radial-gradient(ellipse 50% 60% at 78% 20%, rgba(140, 198, 63, .14), transparent 70%), linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); }
.hero-text { max-width: none; margin: 0; align-items: flex-start; }
.hero-text > p { max-width: 540px; }
.hero-search { max-width: 540px; }
.hero-cta { justify-content: flex-start; align-items: center; gap: 22px; }
.hero-link { color: #d5dadf; font: 600 14.5px var(--head); text-decoration: underline; text-decoration-color: #4a4f54; text-underline-offset: 5px; }
.hero-link:hover { color: var(--accent); text-decoration-color: var(--accent); }
.hero-draw { position: relative; margin: 0; }
.hero-draw svg { display: block; width: 100%; height: auto; color: var(--accent); overflow: visible; }
.hd-part { fill: rgba(255, 255, 255, .045); stroke: #d3d8dc; stroke-width: 1.6; stroke-linejoin: round; }
.hd-cl { stroke: #6b7279; stroke-width: 1; stroke-dasharray: 14 4 3 4; fill: none; }
.hd-ext path { stroke: #5b6168; stroke-width: 1; fill: none; }
.hd-dim path, .hd-lead path { stroke: currentColor; stroke-width: 1.3; fill: none; }
.hd-txt text { fill: var(--accent); font: 500 13px var(--sans), "IBM Plex Sans", sans-serif; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: no-preference) {
  .hd-dim .dm, .hd-lead .dm { stroke-dasharray: 1; stroke-dashoffset: 1; animation: hd-draw .9s cubic-bezier(.3, .6, .2, 1) forwards; animation-delay: calc(.35s + var(--i) * .12s); }
  .hd-txt { opacity: 0; animation: hd-fade .5s ease forwards; animation-delay: 1.35s; }
}
@keyframes hd-draw { to { stroke-dashoffset: 0; } }
@keyframes hd-fade { to { opacity: 1; } }
@media (max-width: 960px) { .hero { grid-template-columns: minmax(0, 1fr); row-gap: 30px; } .hero-draw { max-width: 420px; } }
/* başlıklar sola, üst etiket yok */
.sec-head { text-align: left; margin: 0 0 20px; max-width: none; }
.faq .sec-head { margin-bottom: 8px; }
/* en çok açılan hesaplar: ilk kart geniş ve iki satır, diğerleri sade */
.qcard .qg { font: 400 12.5px var(--sans); letter-spacing: 0; text-transform: none; color: var(--muted); }
.qcard .qt { padding-right: 0; }
.quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quick-grid .qcard:first-child { grid-column: span 2; grid-row: span 2; justify-content: flex-end; padding: 26px 28px; background: color-mix(in srgb, var(--surface) 88%, var(--accent)); border-color: color-mix(in srgb, var(--accent) 38%, transparent); }
.quick-grid .qcard:first-child .qt { font-size: 21px; }
.quick-grid .qcard:first-child .qv { font-size: 34px; margin-top: 10px; }
.quick-grid .qcard:first-child .qd { font-size: 14.5px; }
@media (max-width: 1100px) { .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .quick-grid { grid-template-columns: minmax(0, 1fr); } .quick-grid .qcard:first-child { grid-column: auto; grid-row: auto; } }

/* ana sayfa: CAD bandı ve hedef kitle */
.hero-link { background: none; border: 0; padding: 0; cursor: pointer; }
.cad-band { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 56px; align-items: start; margin: 0 0 64px; padding: 32px 0 0; border-top: 1px solid var(--line); }
.cad-band-head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; }
.cad-band-head p { margin: 0 0 18px; color: var(--text-2); line-height: 1.6; max-width: 460px; }
.cad-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; }
.cad-feats > div { padding: 14px 0 18px; border-top: 1px solid var(--line); }
.cad-feats dt { margin: 0 0 6px; font: 600 16px var(--head); color: var(--text); }
.cad-feats dd { margin: 0; color: var(--text-2); font-size: 14.5px; line-height: 1.55; }
.who { margin: 0 0 64px; }
.who h2 { margin: 0 0 16px; font-size: 28px; }
.who-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.who-list li { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 2.4fr); gap: 8px 32px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.who-list b { font: 600 15.5px var(--head); color: var(--text); }
.who-list span { color: var(--text-2); font-size: 14.5px; line-height: 1.55; }
@media (max-width: 900px) { .cad-band { grid-template-columns: minmax(0, 1fr); } .cad-feats { grid-template-columns: minmax(0, 1fr); } .who-list li { grid-template-columns: minmax(0, 1fr); } }
.hd-txt text.tl { font-size: 11px; fill: #9fb878; }

/* ---------- ana sayfa: kurumsal yapı (üst şerit, yatay menü, rakamlar, çok sütunlu alt bilgi) ---------- */
.topstrip, .hnav { display: none; }
@media (min-width: 801px) {
  .topstrip { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 20px; height: 34px; background: #08090a; border-bottom: 1px solid #1a1c1e; color: #9ba1a8; font-size: 13px; }
  .ts-links { display: flex; gap: 20px; }
  .ts-links a { color: #c3c8cd; text-decoration: none; }
  .ts-links a:hover { color: var(--accent); }
  body.is-home .hnav { display: flex; align-items: stretch; gap: 2px; padding: 0 20px; height: 48px; background: #0e0f10; border-bottom: 1px solid var(--line); position: sticky; top: 64px; z-index: 9; }
  body.is-home .sidebar { display: none; }
  body.is-home .layout { grid-template-columns: minmax(0, 1fr); }
  body.is-home #menuBtn { display: none; }
  body.is-home main { max-width: none; padding-inline: clamp(16px, 4vw, 56px); }
  body.is-home main #home > :not(.hero) { max-width: 1200px; margin-inline: auto; }
  body.is-home main #home > .hero { margin-inline: calc(-1 * clamp(16px, 4vw, 56px)); }
}
.hn-item { position: relative; display: flex; }
.hn-btn { display: inline-flex; align-items: center; gap: 5px; padding: 0 12px; background: none; border: 0; border-bottom: 2px solid transparent; color: #d5dadf; font: 500 14px var(--head); cursor: pointer; white-space: nowrap; }
.hn-btn > .ico { width: 14px; height: 14px; color: var(--muted); transition: transform .15s; }
.hn-btn:hover, .hn-item.open .hn-btn { color: #fff; border-bottom-color: var(--accent); }
.hn-item.open .hn-btn > .ico { transform: rotate(180deg); }
.hn-cad .hn-btn { color: var(--accent); font-weight: 600; }
.hn-panel { display: none; position: absolute; z-index: 20; top: 100%; left: 0; width: 420px; max-height: min(70vh, 560px); overflow: auto; padding: 8px; background: #141517; border: 1px solid var(--line-2); border-top: 2px solid var(--accent); border-radius: 0 0 var(--radius) var(--radius); box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.hn-item.open .hn-panel { display: block; }
.hn-item:nth-last-child(-n+3) .hn-panel { left: auto; right: 0; }
.hn-panel a { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 4px; text-decoration: none; color: #e6e8ea; }
.hn-panel a b { font: 600 14px var(--head); }
.hn-panel a small { color: #8b9198; font-size: 12.5px; line-height: 1.4; }
.hn-panel a:hover { background: rgba(140, 198, 63, .1); }
.hn-panel a:hover b { color: var(--accent); }
/* rakamlar */
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 56px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.stats > div { padding: 22px 24px; display: flex; flex-direction: column; gap: 2px; }
.stats > div + div { border-left: 1px solid var(--line); }
.stats b { font: 600 36px/1.1 var(--head); color: var(--accent); font-variant-numeric: tabular-nums; }
.stats span { font: 600 15px var(--head); color: var(--text); }
.stats small { color: var(--muted); font-size: 13px; }
@media (max-width: 800px) { .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stats > div:nth-child(3) { border-left: 0; } .stats > div:nth-child(n+3) { border-top: 1px solid var(--line); } }
/* çok sütunlu alt bilgi */
.footer { display: block; text-align: left; padding: 40px clamp(16px, 4vw, 56px) 24px; }
.ft-cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; max-width: 1200px; margin: 0 auto 28px; }
.ft-col h2 { margin: 0 0 12px; font: 600 15px var(--head); color: #f2f3f4; }
.ft-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ft-col a { color: #9ba1a8; text-decoration: none; font-size: 14px; }
.ft-col a:hover { color: var(--accent); }
.ft-brand b { font: 600 19px var(--head); color: #fff; }
.ft-brand p { margin: 8px 0 0; max-width: 340px; line-height: 1.6; font-size: 14px; }
.ft-legal { max-width: 1200px; margin: 0 auto; padding-top: 18px; border-top: 1px solid #1f2123; font-size: 12.5px; line-height: 1.6; color: #7d838a; }
@media (max-width: 800px) { .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ft-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .ft-cols { grid-template-columns: minmax(0, 1fr); } }
.hn-more .hn-panel { width: 460px; left: auto; right: 0; }
.hn-panel h5 { margin: 10px 12px 4px; font: 600 12.5px var(--head); color: var(--accent); }
.hn-panel h5:first-child { margin-top: 4px; }
.hn-item:nth-last-child(-n+3):not(.hn-more) .hn-panel { left: 0; right: auto; }
.hn-item:nth-child(n+5):not(.hn-more) .hn-panel { left: auto; right: 0; }
.hn-ic { display: inline-flex; width: 17px; height: 17px; color: var(--accent); flex: none; }
.hn-ic .ico { width: 17px; height: 17px; }
.hn-btn { gap: 7px; }

/* Kademeli Parça Ağırlığı: solda girişler, sağda parça çizimi ve sonuçlar (kademe eklerken çizim görünür kalır) */
.kd-wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.kd-left { display: grid; gap: 14px; }
.kd-card { margin: 0; padding: 18px 20px; }
.kd-card h3 { margin: 0 0 12px; font-size: 16px; }
.kd-card h3 small { margin-left: 8px; font-weight: 400; color: var(--muted); font-size: 12.5px; }
.kd-card .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }
.kd-card .note { margin: 12px 0 0; }
.kd-tbl input { width: 100%; min-width: 0; height: 36px; }
.kd-tbl td, .kd-tbl th { padding: 6px 8px; }
.kd-card #k-add { margin-top: 12px; }
.kd-right { position: sticky; top: 76px; display: grid; gap: 14px; }
.kd-fig { margin: 0; padding: 14px 16px; background: var(--surface); }
.kd-fig svg { display: block; width: 100%; height: auto; max-height: 280px; }
.kd-right .result { margin: 0; }
@media (max-width: 960px) { .kd-wrap { grid-template-columns: minmax(0, 1fr); } .kd-right { position: static; order: -1; } }
.kd-tbl td:nth-child(4) { white-space: nowrap; }
/* telefonda kademeli sayfa: çizim üstte sabit kalır, girişler altta kayar; sonuçlar girişlerden sonra gelir */
@media (max-width: 960px) {
  .kd-wrap { display: flex; flex-direction: column; gap: 14px; }
  .kd-right { display: contents; }
  .kd-fig { order: -2; position: sticky; top: 64px; z-index: 5; margin: 0 -2px; padding: 8px 10px; box-shadow: 0 8px 18px rgba(0, 0, 0, .35); }
  .kd-fig svg { max-height: 150px; }
  .kd-left { order: 0; }
  .kd-right .result { order: 1; }
}
@media (max-width: 960px) {
  .kd-fig { align-self: stretch; width: auto; }
  .kd-fig svg { width: 100%; height: 150px; max-height: none; }
}
@media (max-width: 560px) { .kd-card .grid { grid-template-columns: minmax(0, 1fr); } }

/* sayfa başı küçük çizimler (js/figures.js) */
.page-fig { margin: 0 0 18px; padding: 10px 14px; max-width: 420px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.page-fig svg { display: block; width: 100%; height: auto; }
.pf-s { fill: none; stroke: #aeb4ba; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.pf-a { fill: none; stroke: var(--accent); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.pf-f { fill: var(--accent-soft); stroke: var(--accent); stroke-width: 1.4; stroke-linejoin: round; }
.pf-d { fill: none; stroke: #6b7279; stroke-width: 1; stroke-dasharray: 8 4 2 4; }
.pf-t { fill: var(--text-2); font: 500 12px var(--sans); }
#uctel .grid { align-items: end; }
.hn-more .hn-panel { width: 720px; max-height: min(78vh, 640px); column-count: 2; column-gap: 8px; }
.hn-more .hn-panel a { break-inside: avoid; }
.hn-more .hn-panel h5 { break-after: avoid; }

/* Hesap sayfaları: solda girişler, sağda çizim ve sonuçlar */
.pg-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px 20px; align-items: start; background: none; border: 0; padding: 0; }
.pg-panel > .pg-in { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 20px 22px; }
.pg-panel > .pg-in .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-panel > .pg-in .grid:last-child { margin-bottom: 0; }
.pg-panel > .pg-out { display: grid; gap: 14px; min-width: 0; }
.pg-panel > .pg-out.pg-stick { position: static; } /* sabit sonuç sütunu altındaki not, çizim ve tablolara biniyordu: sabitleme kaldırıldı */
.pg-panel > .pg-out .result { margin: 0; }
.pg-panel > .pg-out .page-fig { margin: 0; max-width: none; }
.pg-panel > .pg-out h3 { margin: 6px 0 0; }
.pg-panel > .pg-out .scroll { max-width: 100%; }
.pg-panel > :not(.pg-in):not(.pg-out) { grid-column: 1 / -1; }
@media (max-width: 960px) { .pg-panel { grid-template-columns: minmax(0, 1fr); } .pg-panel > .pg-out, .pg-panel > .pg-out.pg-stick { position: static; } }
@media (max-width: 560px) { .pg-panel > .pg-in .grid { grid-template-columns: minmax(0, 1fr); } .pg-panel > .pg-in { padding: 16px; } }
.pg-wide > .pg-out, .pg-wide > .pg-out.pg-stick { position: static; }
.pg-wide > .pg-out:empty { display: none; }
.pg-wide > .pg-tbl { grid-column: 1 / -1; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 14px 16px; min-width: 0; }
.pg-wide > .pg-tbl .scroll { max-height: 520px; overflow: auto; }
.pg-wide > .pg-tbl .hint-row { margin: 0 0 10px; }
.dev-note { margin: 8px 0 14px; padding: 8px 12px; border-left: 3px solid var(--accent, #8cc63f); background: var(--surface); border-radius: 3px; font-size: 13.5px; color: var(--muted); }
.dev-note b { color: var(--text, inherit); }

/* Torna uç seçimi */
.tu-out { display: grid; gap: 14px; }
.tu-card { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 16px 18px; }
.tu-card.tu-fin { border-color: var(--accent); }
.tu-head { display: flex; gap: 14px; align-items: center; }
.tu-shape { width: 64px; height: 64px; flex: none; }
.tu-head h4 { margin: 0; font-size: 14px; color: var(--muted); font-weight: 600; }
.tu-code { font: 600 22px/1.2 "IBM Plex Sans", sans-serif; margin: 2px 0; }
.tu-nm { color: var(--muted); font-size: 13px; }
.tu-why { margin: 10px 0 8px; font-size: 14px; }
.tu-warn { margin: 8px 0; padding: 6px 10px; border-left: 3px solid #d9a441; background: var(--surface); font-size: 13.5px; }
.tu-res { margin: 8px 0 0 !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.tu-hold { margin: 10px 0 0; color: var(--muted); font-size: 12.5px; }
.tu-bar { position: relative; height: 22px; min-width: 120px; background: var(--surface-2, #202226); border-radius: 3px; overflow: hidden; }
.tu-bar i { position: absolute; inset: 0 auto 0 0; background: var(--accent-soft, #34461f); }
.tu-bar.top i { background: var(--accent); opacity: .55; }
.tu-bar span { position: relative; padding-left: 8px; line-height: 22px; font-size: 12.5px; font-weight: 600; }
.tu-decin { max-width: 320px; margin-bottom: 10px; }
.tu-decin input { text-transform: uppercase; font: 600 18px "IBM Plex Sans", sans-serif; }
.tu-dec td:nth-child(2) { font-size: 16px; }

.cd-etools { flex-wrap: wrap; }
/* Torna uç sayfası: daha kompakt kartlar */
.tu-out { gap: 10px; }
.tu-card { padding: 12px 14px; }
.tu-shape { width: 44px; height: 44px; }
.tu-head { gap: 10px; }
.tu-head h4 { font-size: 12.5px; }
.tu-code { font-size: 18px; margin: 0; }
.tu-nm { font-size: 12px; }
.tu-why { margin: 8px 0 6px; font-size: 13px; }
.tu-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.tu-pick label { font-size: 11.5px; }
.tu-pick select { height: 32px; font-size: 13px; padding: 0 8px; }
.tu-res { margin: 6px 0 0 !important; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important; gap: 6px !important; }
.tu-res .stat { padding: 7px 10px 8px; }
.tu-res .stat .k { font-size: 11px; margin-bottom: 2px; }
.tu-res .stat .v { font-size: 14.5px; }
.tu-res .stat.hl .v { font-size: 16px; }
.tu-hold { margin: 8px 0 0; font-size: 12px; }
.tu-diff { margin-top: 8px; padding: 8px 10px; background: var(--bg); border: 1px solid var(--line); border-radius: 4px; font-size: 12.5px; }
.tu-diff h5 { margin: 0 0 4px; font-size: 12.5px; }
.tu-diff ul { margin: 0; padding-left: 16px; }
.tu-diff li { margin: 2px 0; }
.tu-warn { font-size: 12.5px; }
.mk-res, .mk-g { margin: 6px 0 0 !important; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important; gap: 6px !important; }
.mk-res .stat, .mk-g .stat { padding: 7px 10px 8px; }
.mk-res .stat .k, .mk-g .stat .k { font-size: 11px; margin-bottom: 2px; }
.mk-res .stat .v, .mk-g .stat .v { font-size: 14.5px; }
.mk-res .stat.hl .v, .mk-g .stat.hl .v { font-size: 16px; }

/* Hammadde karşılık tablosu */
.st-count { color: var(--muted); font-size: 12.5px; margin: -4px 0 8px; }
.st-det { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 14px 16px; min-height: 60px; }
.st-det h4 { margin: 0 0 10px; font-size: 18px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.st-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; }
.st-grid div, .st-wide { background: var(--bg); border: 1px solid var(--line); border-radius: 4px; padding: 7px 10px; }
.st-grid span, .st-wide span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 2px; }
.st-grid b, .st-wide b { font-size: 13.5px; font-weight: 500; }
.st-wide { margin-top: 6px; }
.st-hint { margin: 0; color: var(--muted); font-size: 13.5px; }
#st-tbl td:nth-child(6), #st-tbl td:nth-child(9) { min-width: 200px; }
@media (max-width: 700px) { .st-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tu-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tu-sum div { background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 6px; padding: 8px 12px; }
.tu-sum span { display: block; color: var(--muted); font-size: 11.5px; }
.tu-sum b { font: 600 18px "IBM Plex Sans", sans-serif; color: var(--accent); }

/* malzeme ayrıntı penceresi */
.st-modal { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .62); }
.st-modal[hidden] { display: none; }
.st-box { position: relative; width: min(760px, 100%); max-height: min(86vh, 760px); overflow: auto; padding: 22px 24px; background: var(--surface); border: 1px solid var(--line-2); border-top: 3px solid var(--accent); border-radius: 6px; box-shadow: 0 24px 60px rgba(0, 0, 0, .6); }
.st-x { position: absolute; top: 8px; right: 10px; width: 34px; height: 34px; font-size: 24px; line-height: 1; background: none; border: 0; color: var(--muted); cursor: pointer; }
.st-x:hover { color: var(--text); }
.st-box h4 { margin: 0 34px 12px 0; font-size: 20px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.st-sec { margin: 14px 0 6px; font: 600 12.5px var(--head); color: var(--accent); }
.st-foot { margin: 14px 0 0; color: var(--muted); font-size: 12px; }

/* Sertlik: sonuçlar girişin yanında, ölçek ve renk açıklaması altında tam genişlikte */
#sertlik .pg-panel { grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); }
#sertlik .pg-in .grid { grid-template-columns: 1fr; }
#sertlik .pg-out { display: contents; }
#sertlik .pg-out > figure, #sertlik .pg-out > .hint-row { grid-column: 1 / -1; }
#sertlik .pg-out > figure { margin: 0; }
#sertlik .pg-out > .hint-row { margin: -6px 0 0; }
#sertlik .pg-out > .result { grid-column: 2; margin: 0; align-content: start; }
@media (max-width: 960px) { #sertlik .pg-panel { grid-template-columns: minmax(0, 1fr); } #sertlik .pg-out > .result { grid-column: 1; } }
#sertlik .pg-out > figure.sheet { max-width: none; width: 100%; }

#vw-tw.need input { border-color: #d9a441; box-shadow: 0 0 0 2px rgba(217, 164, 65, .35); }
#vw-tw.need small { color: #d9a441; }
.vw-lth { width: 74px; }

/* hammadde yönlendirme penceresi */
.mg-btn { margin: 0 0 4px 6px; height: 32px; padding: 0 10px; background: none; border: 1px solid var(--line-2); border-radius: 3px; color: var(--accent); font: 600 12.5px var(--head); cursor: pointer; white-space: nowrap; }
.mg-btn:hover { border-color: var(--accent); }
.mg-btn.mini { height: 24px; width: 24px; padding: 0; margin: 0 6px 0 0; vertical-align: middle; }
.mg-lead { margin: 0 0 10px; color: var(--muted); font-size: 13.5px; }
.mg-msg { margin: 0 0 10px; padding: 8px 12px; border-left: 3px solid #d9a441; background: var(--bg); font-size: 13px; }
.mg-body details { border-top: 1px solid var(--line); padding: 8px 0; }
.mg-body summary { cursor: pointer; font: 600 14.5px var(--head); }
.mg-sub { margin: 8px 0 0 4px; }
.mg-sub > span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 4px; }
.mg-sub > div { display: flex; flex-wrap: wrap; gap: 6px; }
.mg-pick { display: flex; flex-direction: column; align-items: flex-start; padding: 6px 10px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 4px; color: var(--text); cursor: pointer; text-align: left; }
.mg-pick:hover { border-color: var(--accent); }
.mg-pick small { color: var(--muted); font-size: 11px; }

/* monitör ekranı: tarayıcı tam ekran; tezgâh tüm ekranı kaplar */
.lz-shell.lz-fs.lz-mon .lz-fsbar { padding-top: 6px; padding-bottom: 6px; }
.lz-fsbar [data-fsm] { margin-right: 6px; }
.lz-fsbar [data-fsm].back { background: var(--accent); color: var(--on-accent); border-color: var(--accent); font-weight: 700; }

/* çizim şeridi: gruplu */
.cd-sktg { display: flex; flex-direction: column; gap: 3px; padding: 5px 6px 6px; border: 1px solid var(--line); border-radius: 4px; }
.cd-sktt { font: 600 11.5px var(--head); color: var(--text-2); }
.cd-sktt small { margin-left: 6px; font: 400 11px var(--sans); color: var(--muted); }
.cd-sktb button.cd-skdone { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.cd-sktb button.cd-skdone kbd { color: var(--on-accent); }
.cd-sktend .cd-sktr { gap: 6px; }

/* işlem listesi: sıra numaralı, taban + eklenenler */
.cd-fno { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--surface-2); color: var(--text-2); font: 600 11.5px var(--sans) !important; }
.cd-fnode.on .cd-fno { background: var(--accent); color: var(--on-accent); }
.cd-fbase { cursor: pointer; }
.cd-fsub { margin-left: 26px; grid-template-columns: 1fr auto !important; padding: 3px 6px; }
.cd-fsub b { font-weight: 500 !important; font-size: 12.5px !important; }
.cd-fnode .cd-fbtn { display: flex; flex-direction: row; align-items: center; gap: 2px; }
.cd-fbtn .lz-nx { width: 22px; height: 22px; padding: 0; font-size: 11px; background: none; border: 0; color: var(--muted); cursor: pointer; }
.cd-fbtn .lz-nx:hover:not(:disabled) { color: var(--text); }
.cd-fbtn .lz-nx:disabled { opacity: .25; cursor: default; }
.cd-fbtn .cd-fx { color: var(--bad); }
.cd-fnode { grid-template-columns: 22px 1fr auto; }
.cd-fadd { margin-top: 8px; margin-bottom: 0; }
.cd-fsub span { align-items: flex-start; text-align: left; }
.cd-fbase span:last-child:empty { display: none; }
.cd-flist { min-width: 0; }
.cd-fnode { min-width: 0; }
.cd-fnode:not(.cd-fsub):not(.cd-fbase) { grid-template-columns: 22px minmax(0, 1fr); }
.cd-fnode:not(.cd-fsub):not(.cd-fbase) .cd-fbtn { grid-column: 2; justify-content: flex-start; margin-top: 2px; }
.cd-fnode:not(.cd-fsub):not(.cd-fbase) .cd-fbtn input { margin-right: 6px; }
.cd-fsub { grid-template-columns: minmax(0, 1fr) 24px !important; }
.cd-fnode .lz-nx { visibility: visible; }
.cd-fbtn .lz-nx:hover:not(:disabled):not(.cd-fx) { color: var(--accent); }
.cd-delseg { border-color: var(--bad); color: var(--bad); }
#vw-app .lz-tools > #vw-tools { flex-wrap: wrap; max-width: 100%; }
.vw-pdel { margin-left: auto; background: none; border: 0; color: var(--muted); font-size: 18px; line-height: 1; cursor: pointer; padding: 0 6px; }
.vw-pdel:hover { color: #e5534b; }
.vw-prest { margin-top: 8px; font-size: 12.5px; }
.vw-pone { margin-left: auto; font-size: 11.5px; padding: 0 4px; } .vw-pone + .vw-pdel { margin-left: 0; }
.lz-fsbar { gap: 14px; }
.lz-fsbar [data-fsm] { margin-left: auto; margin-right: 0; }
.lz-fsbar [data-fsm] ~ .btn { margin-left: 0; }
/* dosya listesi: alttan açılan panel */
.vw-listv { position: fixed; left: 2vw; right: 2vw; bottom: 0; top: auto; inset-inline: 2vw; height: min(84vh, 900px); z-index: 60; border: 1px solid var(--line-2); border-bottom: 0; border-radius: 12px 12px 0 0; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .55), 0 -10px 40px rgba(0, 0, 0, .5); padding: 0 20px 20px; animation: vwSheet .2s ease-out; }
@keyframes vwSheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .vw-listv { animation: none; } }
.vw-listv .vw-lhead { position: sticky; top: 0; z-index: 3; margin: 0 -20px 12px; padding: 14px 20px 10px; background: var(--surface); border-bottom: 1px solid var(--line); }
.vw-ltop { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.vw-ltop b { font: 600 17px var(--head); }
.vw-ltop b small { margin-left: 10px; font: 400 12.5px var(--sans); color: var(--muted); }
.vw-lx { width: 34px; height: 34px; border: 1px solid var(--line-2); border-radius: 6px; background: transparent; color: var(--text); font-size: 15px; cursor: pointer; }
.vw-lx:hover { border-color: var(--accent); color: var(--accent); }
.vw-lref { margin-right: auto; }
.vw-listv .vw-lt input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--accent); }
.vw-listv .vw-savenote { margin: 0 0 8px; padding: 6px 10px; font-size: 12.5px; }
.vw-listv .vw-lt { border-collapse: separate; border-spacing: 0; }
/* dosya listesi: kısa satır, tıklayınca ayrıntı */
.vw-lt2 { font-size: 13.5px; }
.vw-lt2 th, .vw-lt2 td { padding: 9px 10px; }
.vw-lt2 .vw-lname { max-width: 340px; }
.vw-lsumc { text-align: left; color: var(--text-2); white-space: nowrap; max-width: 300px; overflow: hidden; text-overflow: ellipsis; }
.vw-lt2 .vw-lmain { cursor: pointer; }
.vw-lt2 .vw-lmain:hover td { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.vw-lt2 .vw-lmain.open td { background: color-mix(in srgb, var(--accent) 12%, transparent); border-bottom-color: transparent; }
.vw-lchev { color: var(--muted); width: 28px; }
.vw-ldet > td { padding: 0 !important; background: var(--surface-2); border-bottom: 2px solid var(--line-2); }
.vw-ldg { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px 16px; padding: 14px 16px 6px; text-align: left; }
.vw-lfld { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); white-space: normal; }
.vw-lfld.wide { grid-column: span 2; }
.vw-lfld .vw-lmv, .vw-lfld select { width: 100%; max-width: none; }
.vw-ldg .vw-lq, .vw-ldg input[type="number"] { width: 100%; min-width: 0; }
.vw-ldg small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.vw-lres { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding: 10px 16px 14px; font-size: 12.5px; color: var(--text-2); text-align: left; }
.vw-lres b { color: var(--text); font-variant-numeric: tabular-nums; }
.vw-lres .btn { margin-left: auto; }
@media (max-width: 700px) { .vw-lfld.wide { grid-column: auto; } .vw-lsumc { display: none; } }
.vw-lfld.wide { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.vw-lfld.wide > span:first-child { flex-basis: 100%; }
.vw-ldg .vw-lth { width: 90px; flex: none; }
.vw-lhead .vw-lref { display: flex; flex-direction: row; align-items: center; margin-right: auto; }
.vw-lhead .vw-lref input { width: 260px; }
.vw-ldg input.vw-lth[type="number"] { width: 90px; flex: none; }
.vw-axg { position: absolute; left: 10px; bottom: 10px; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 6px 10px 6px 4px; border: 1px solid var(--line-2); border-radius: 8px; background: color-mix(in srgb, var(--surface) 82%, transparent); pointer-events: none; }
.vw-axg[hidden] { display: none; }
.vw-axl { display: grid; gap: 3px; font-size: 12px; color: var(--text-2); }
.vw-axl span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.vw-axl i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.vw-axl b { color: var(--text); font-weight: 700; }
.vw-axl em { font: normal 600 12px var(--mono); color: var(--text); margin-left: 2px; font-variant-numeric: tabular-nums; }
/* kademeli mil, lazer, dişli: üst form tek sıra (malzeme arama + öneri düğmesi + liste yan yana) */
.lz-shell:has(#cd-mat) .lz-spec { gap: 8px 14px; align-items: center; padding: 10px 14px; }
.lz-shell:has(#cd-mat) .lz-spec > label { min-width: 0; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12.5px; }
.lz-shell:has(#cd-mat) .lz-spec > label input.mat-q { width: 190px; margin: 0; }
.lz-shell:has(#cd-mat) .lz-spec > label select { width: auto; min-width: 150px; max-width: 250px; }
.lz-shell:has(#cd-mat) .lz-spec > label .mg-btn { margin: 0; }
.lz-shell:has(#cd-mat) .lz-spec .mat-n { display: none; }
.lz-shell:has(#cd-mat) .lz-spec .lz-dl { display: flex; align-items: center; gap: 6px; }
.lz-shell:has(#cd-mat) .lz-spec .lz-dl { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.lz-shell:has(#cd-mat) .lz-spec .lz-dl > div, .lz-shell:has(#cd-mat) .lz-spec .lz-dl .btn { height: 34px; }
.lz-shell:has(#cd-mat) .lz-spec .lz-dl em { flex-basis: 100%; max-width: 420px; line-height: 1.35; }
.lz-shell:has(#cd-mat) .lz-spec select, .lz-shell:has(#cd-mat) .lz-spec input { height: 34px; }
.cd-edtb { margin-top: 0; }
#cd-psvg.cd-edit { cursor: crosshair; }
.cd-edtb [data-edt].on { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
/* profil araç şeritleri: sade tek şerit */
.cd-sktb { left: 8px; right: 8px; top: 8px; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 6px 8px; }
.cd-sktb .cd-sktg { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px 6px; padding: 0; border: 0; }
.cd-sktb .cd-sktt small, .cd-sktb button kbd { display: none; }
.cd-sktb .cd-sktr { align-items: center; }
.cd-sktb .cd-skin { min-width: 0; flex: 1 1 220px; }
.cd-sktb .cd-sktend { margin-left: auto; }
.cd-edtb { flex-wrap: nowrap; width: max-content; max-width: calc(100% - 16px); }
.cd-edtb .cd-skin { display: none; }
.cd-edtb .cd-skf { border: 0; background: none; padding: 0; flex-direction: row; align-items: center; gap: 8px; }
.cd-edtb .cd-skf:empty { display: none; }
.cd-edtb .cd-skf label { display: flex; align-items: center; gap: 4px; font-size: 12px; }
.cd-edtb .cd-skf input { width: 72px; height: 28px; }
#cd-edtb { flex-direction: row; align-items: center; gap: 8px 14px; padding: 5px 8px; }
#cd-edtb #cd-edf { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 10px; border: 0; padding: 0; }
#cd-edtb #cd-edf:empty { display: none; }
#cd-edtb #cd-edf label { display: flex; flex-direction: row; align-items: center; gap: 5px; margin: 0; white-space: nowrap; font-size: 12px; }
#cd-edtb #cd-edf input { width: 68px; height: 28px; }
#cd-edtb .cd-sktg { flex-wrap: nowrap; }
#cd-edtb .cd-sktt { white-space: nowrap; }
/* dosya listesi: tezgâhın altında açılan tam genişlik panel (popup değil) */
.vw-listv { position: static; inset: auto; left: auto; right: auto; bottom: auto; top: auto; width: 100%; height: auto; max-height: none; overflow: visible; z-index: auto; margin-top: 14px; padding: 0 18px 18px; border: 1px solid var(--line-2); border-top: 3px solid var(--accent); border-radius: 10px; box-shadow: none; animation: none; background: var(--surface); }
.vw-listv .vw-lhead { position: static; margin: 0 -18px 12px; padding: 14px 18px 10px; background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.vw-lkpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; width: 100%; }
.vw-lkpis > div { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 8px; border-left: 4px solid var(--kc); background: color-mix(in srgb, var(--kc) 10%, var(--bg)); }
.vw-lkpis span { font-size: 11.5px; color: var(--muted); }
.vw-lkpis b { font: 700 18px var(--mono); color: var(--kc); font-variant-numeric: tabular-nums; }
.vw-lkpis .k1 { --kc: #4aa8ff; } .vw-lkpis .k2 { --kc: var(--accent); } .vw-lkpis .k3 { --kc: #e0b43c; } .vw-lkpis .k4 { --kc: #4fd18b; }
.vw-listv .vw-lt thead th { background: color-mix(in srgb, var(--accent) 14%, var(--surface-2)); color: var(--text); border-bottom: 2px solid var(--accent); }
.vw-listv .vw-lt2 tbody tr.vw-lmain:nth-of-type(4n+1) td, .vw-listv .vw-lt2 tbody tr.vw-lmain:nth-of-type(4n+3) td { background: color-mix(in srgb, var(--text) 3%, transparent); }
.vw-listv .vw-lt2 tbody tr.vw-lmain:hover td { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.vw-listv [data-ls] { color: #4aa8ff; font-weight: 600; }
.vw-listv [data-lt] b { color: #4fd18b; }
.vw-listv .vw-lsumc { color: var(--text-2); }
.vw-listv .vw-lt2 tfoot td { background: color-mix(in srgb, var(--accent) 10%, var(--surface-2)); border-top: 2px solid var(--accent); }
.vw-listv .vw-ltabs > button.on { box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); }
.vw-ldet > td { border-left: 4px solid var(--accent); }
.vw-ldg .vw-lfld > span { color: var(--text-2); font-weight: 600; }
.vw-lres b { color: var(--accent); }
.vw-listv .vw-lsum { max-width: none; border-left: 4px solid #e0b43c; }
/* dosya listesi: her dosyaya ayrı renk, sade ayrıntı kartları, rahat sütunlar */
.vw-lt2 { table-layout: auto; font-size: 14px; }
.vw-lt2 th, .vw-lt2 td { padding: 13px 12px; }
.vw-lt2 thead th { text-align: right; white-space: nowrap; }
.vw-lt2 thead th:nth-child(-n+3), .vw-lt2 thead th:nth-child(6) { text-align: left; }
.vw-lt2 td { text-align: right; font-variant-numeric: tabular-nums; }
.vw-lt2 td:nth-child(3), .vw-lt2 td.vw-lsumc { text-align: left; }
.vw-lt2 td:first-child { border-left: 5px solid var(--rc, var(--line-2)); width: 40px; }
.vw-lt2 .vw-lmain td { background: color-mix(in srgb, var(--rc, transparent) 8%, transparent) !important; }
.vw-lt2 .vw-lmain:hover td, .vw-lt2 .vw-lmain.open td { background: color-mix(in srgb, var(--rc, transparent) 18%, transparent) !important; }
.vw-lt2 .vw-lname { color: color-mix(in srgb, var(--rc) 55%, var(--text)); font-weight: 600; }
.vw-lbadge { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 13px; background: var(--rc); color: #0e0f10; font: 700 13px var(--head); font-style: normal; }
.vw-ldet > td { border-left: 5px solid var(--rc, var(--accent)) !important; background: color-mix(in srgb, var(--rc, transparent) 5%, var(--surface-2)) !important; }
.vw-ldg { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; padding: 16px; align-items: start; }
.vw-lcard { padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--rc) 35%, var(--line)); border-top: 3px solid var(--rc); border-radius: 8px; background: var(--surface); }
.vw-lcard h5 { margin: 0 0 10px; font: 600 13px var(--head); color: color-mix(in srgb, var(--rc) 70%, var(--text)); }
.vw-lcg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.vw-lcg .vw-lfld.wide { grid-column: 1 / -1; }
.vw-ldg .vw-lfld { gap: 4px; font-size: 12px; }
.vw-lres { border-top: 1px solid var(--line); }
.vw-lres b { color: color-mix(in srgb, var(--rc) 70%, var(--text)); }
.vw-lt2 th, .vw-lt2 td { padding: 12px 9px; }
.vw-lt2 .vw-lsumc { white-space: normal; max-width: 240px; line-height: 1.35; }
.vw-lt2 .vw-lname { max-width: 220px; white-space: normal; overflow-wrap: anywhere; }
.vw-ldet > td { max-width: 0; }
.vw-ldg { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.vw-lres { flex-wrap: wrap; }
.vw-lcg input, .vw-lcg select { width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
.vw-lcg .vw-lth { width: 90px !important; }
.vw-lcg .vw-lfld.wide { align-items: center; }
/* dosya listesi: küçültülmüş başlık ve yazılar */
.vw-listv { padding: 0 14px 14px; }
.vw-listv .vw-lhead { margin: 0 -14px 8px; padding: 10px 14px 8px; gap: 6px 12px; }
.vw-ltop b { font: 600 15px var(--head); }
.vw-lx { width: 28px; height: 28px; font-size: 13px; }
.vw-lkpis { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.vw-lkpis > div { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 8px; padding: 5px 10px; border-left-width: 3px; }
.vw-lkpis span { font-size: 11.5px; }
.vw-lkpis b { font-size: 14px; }
.vw-listv .vw-lhead .btn, .vw-listv .vw-ltabs > button { font-size: 12px; padding: 4px 10px; height: 28px; }
.vw-lhead .vw-lref { font-size: 12px; }
.vw-lhead .vw-lref input { width: 220px; height: 28px; font-size: 12.5px; }
.vw-listv .vw-savenote { padding: 4px 10px; font-size: 12px; }
.vw-listv .vw-savenote .btn { height: 26px; }
.vw-lt2 { font-size: 13px; }
.vw-lt2 th { font-size: 12px; }
.vw-lt2 th, .vw-lt2 td { padding: 9px 8px; }
.vw-lt2 input[type="number"] { height: 28px; font-size: 13px; }
.vw-lbadge { min-width: 22px; height: 22px; font-size: 12px; }
.vw-ldg { padding: 12px; gap: 10px; }
.vw-lcard { padding: 10px 12px; }
.vw-lcard h5 { font-size: 12.5px; margin-bottom: 8px; }
.vw-ldg .vw-lfld { font-size: 11.5px; }
.vw-ldg input, .vw-ldg select { height: 30px; font-size: 13px; }
.vw-lcg .vw-lmv { width: calc(100% - 34px) !important; }
.vw-lcg .mg-btn.mini { margin: 0 6px 0 0; flex: none; }
.vw-lcg .vw-lfld small { flex-basis: 100%; font-size: 11px; color: var(--muted); }
.vw-lres { padding: 8px 12px 12px; font-size: 12px; }
.vw-listv .vw-lsum { padding: 8px 12px; } .vw-lsumg { font-size: 12.5px; }
body.vw-listopen #cadgor .lz-bpane { display: none; }
/* tam ekran / monitör ekranında liste tezgâhın altında, kabuk kayarak görünür */
body.vw-listopen .lz-shell.lz-fs #vw-app { height: auto; display: block; }
body.vw-listopen .lz-shell.lz-fs #vw-app .lz-work { height: calc(100vh - 150px); min-height: 360px; }
body.vw-listopen .lz-shell.lz-fs .vw-listv { margin-bottom: 20px; }
.vw-bmini { vertical-align: middle; margin-right: 6px; flex: none; }
.vw-bsvg { display: block; max-width: 340px; margin: 0 auto; }
.vw-btx { fill: var(--text-2); font: 600 10.5px var(--mono); }
.vw-bleg { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: 11px; color: var(--muted); }
.vw-bleg i { display: inline-block; width: 16px; height: 0; border-top: 2px solid var(--rc); }
.vw-bleg i.d { border-top: 1px dashed var(--text-2); margin-left: 8px; }
.vw-ldg { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
/* liste açıkken çizim alanı gizlenir; liste araç şeridinin hemen altında başlar (aşağıda boşluk kalmaz) */
#vw-app.vw-listmode .lz-stage, #vw-app.vw-listmode .lz-status { display: none; }
body.vw-listopen .lz-shell.lz-fs #vw-app .lz-work { height: auto; min-height: 0; }
#vw-app.vw-listmode .lz-work { min-height: 0; }
#vw-app.vw-listmode .vw-listv { margin-top: 0; border-top-width: 1px; border-radius: 0 0 10px 10px; }
.vw-ldg { grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); }
.vw-lchk { flex-direction: row !important; align-items: center; gap: 8px; font-size: 12px; color: var(--text-2); }
.vw-lchk input { width: auto !important; height: auto !important; accent-color: var(--accent); }
.vw-lcg .vw-lfld .vw-lq + .vw-lq { margin-top: 4px; }
.vw-l2 { display: flex; align-items: center; gap: 6px; }
.vw-l2 b { color: var(--muted); }
.vw-lset { margin-top: 8px; width: 100%; justify-content: center; }
.vw-lkv { display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.vw-lkv span { color: var(--text-2); }
.vw-lkv b { text-align: right; font-weight: 600; }
.vw-lkv .t { padding-top: 5px; border-top: 1px solid var(--line); color: var(--text); font-weight: 700; }
.vw-lkv b.t { color: color-mix(in srgb, var(--rc) 70%, var(--text)); }
.vw-lcost h5 small { margin-left: 6px; font: 400 11px var(--sans); color: var(--muted); }

/* 3D model ekranı: uzun açıklamalar tek satır, tıklayınca açılır */
#mil3d .lz-hint { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; cursor: pointer; margin-bottom: 8px; }
#mil3d .lz-hint.cd-open { -webkit-line-clamp: unset; display: block; }
#mil3d .lz-hint:not(.cd-open)::after { content: " ▾"; }

/* üyelik */
.uye-btn { padding: 6px 12px; background: transparent; border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 600 13px var(--sans); cursor: pointer; }
.uye-btn:hover { border-color: var(--accent); color: var(--accent); }
.uye-kap { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .6); }
.uye-kutu { position: relative; width: 100%; max-width: 380px; display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.uye-kutu h3 { margin: 0 0 2px; font-size: 20px; }
.uye-x { position: absolute; right: 10px; top: 10px; width: 32px; height: 32px; background: none; border: 0; color: var(--muted); font-size: 16px; cursor: pointer; }
.uye-not { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.uye-not:empty { display: none; }
.uye-sek { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; }
.uye-sek button { padding: 9px; background: var(--bg); border: 0; color: var(--text); font: 600 14px var(--sans); cursor: pointer; }
.uye-sek button.on { background: var(--accent); color: var(--on-accent); }
.uye-kutu input { width: 100%; padding: 11px 12px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 15px var(--sans); box-sizing: border-box; }
.uye-kutu input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.uye-kutu input[hidden] { display: none; }
.uye-hata { margin: 0; min-height: 1.2em; color: #e5604f; font-size: 13.5px; }
.uye-kutu .btn { width: 100%; padding: 12px; }

/* sayfa yorumları */
.yorum { margin: 40px 0 8px; padding-top: 20px; border-top: 1px solid var(--line-2); max-width: 760px; }
.yorum[hidden] { display: none; }
.yorum h3 { margin: 0 0 12px; font-size: 18px; }
.yorum-form textarea { width: 100%; padding: 10px 12px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 15px var(--sans); resize: vertical; box-sizing: border-box; }
.yorum-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.yorum-alt { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.yorum-say { color: var(--muted); font-size: 12.5px; }
.yorum-hata { flex: 1; color: #e5604f; font-size: 13.5px; }
.yorum-giris { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 14px; background: var(--surface); border: 1px dashed var(--line-2); border-radius: 8px; }
.yorum-giris p { margin: 0; flex: 1 1 240px; color: var(--muted); font-size: 14px; }
.yorum-liste { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.yorum-liste li { padding: 12px 14px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; }
.yorum-liste p { margin: 6px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.yorum-ust { display: flex; align-items: baseline; gap: 10px; font-size: 13.5px; }
.yorum-ust time { color: var(--muted); font-size: 12.5px; }
.yorum-sil { margin-left: auto; background: none; border: 0; color: var(--muted); font: 600 12.5px var(--sans); cursor: pointer; }
.yorum-sil:hover { color: #e5604f; }
.uye-ok { margin: 0; color: var(--accent); font-size: 14px; line-height: 1.45; }
.uye-ok:empty { display: none; }
.uye-ek { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.uye-ek:empty { display: none; }
.uye-link { background: none; border: 0; padding: 2px 0; color: var(--muted); font: 600 13px var(--sans); text-decoration: underline; cursor: pointer; }
.uye-link:hover { color: var(--accent); }
.uye-sek[hidden], .uye-kutu .btn[hidden], .uye-kutu input[hidden] { display: none; }
.yorum-bildir { background: none; border: 0; color: var(--muted); font: 600 12.5px var(--sans); cursor: pointer; margin-left: auto; }
.yorum-bildir:hover { color: #e5604f; }

/* forum */
.fr { max-width: 820px; }
.fr-ust { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.fr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fr-chips button { padding: 6px 12px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 16px; color: var(--text); font: 600 13px var(--sans); cursor: pointer; }
.fr-chips button.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.fr-liste, .fr-yanitlar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fr-liste li, .fr-yanitlar li { padding: 12px 14px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; }
.fr-baslik { display: block; width: 100%; padding: 0; background: none; border: 0; color: var(--text); font: 700 16px var(--sans); text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.fr-baslik:hover { color: var(--accent); }
.fr-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 4px; color: var(--muted); font-size: 12.5px; }
.fr-kat { color: var(--accent); font-weight: 600; }
.fr-kilit { color: #e5604f; font-weight: 600; }
.fr-bos { color: var(--muted); }
.fr-sayfa { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; color: var(--muted); }
.fr-form { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.fr-form select, .fr-form input, .fr-form textarea { padding: 10px 12px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 15px var(--sans); }
.fr-form textarea { resize: vertical; }
.fr-form :is(select, input, textarea):focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.fr-ar { display: flex; gap: 10px; justify-content: flex-end; }
.fr-hata { margin: 0; min-height: 1.2em; color: #e5604f; font-size: 13.5px; }
.fr-konu-b { margin: 14px 0 0; font-size: 20px; overflow-wrap: anywhere; }
.fr-metin { margin-top: 8px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.fr-yb { margin: 22px 0 10px; }

/* profilim */
.pr { max-width: 560px; display: flex; flex-direction: column; gap: 18px; }
.pr-kart { display: flex; flex-direction: column; gap: 10px; padding: 18px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 10px; }
.pr-kart h3 { margin: 0 0 2px; font-size: 17px; }
.pr-kart label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 13px; }
.pr-kart input[type="text"], .pr-kart input[type="password"] { padding: 10px 12px; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 15px var(--sans); }
.pr-kart input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.pr-kart .lz-hint { margin: 0; }
.pr-ep { margin: 0; color: var(--muted); font-size: 13.5px; overflow-wrap: anywhere; }
.pr-chk { flex-direction: row !important; align-items: center; gap: 8px !important; color: var(--text) !important; font-size: 14px !important; cursor: pointer; }
.pr-m { margin: 0; min-height: 1.2em; font-size: 13.5px; } .pr-m.h { color: #e5604f; } .pr-m.o { color: var(--accent); }
.pr-tehlike { border-color: color-mix(in srgb, #e5604f 50%, var(--line-2)); }
.pr-kart .btn { align-self: flex-start; }

/* bilgi paylaşım: yıldız puanı ve sıralama */
.fr-sirala { padding: 8px 10px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 6px; color: var(--text); font: 600 13px var(--sans); }
.fr-yildiz { color: #e0b43a; font-weight: 600; }
.fr-puan { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 10px 0 4px; }
.fr-yildizlar { display: inline-flex; gap: 2px; }
.fr-yildizlar button { padding: 0 2px; background: none; border: 0; color: var(--line-2); font-size: 26px; line-height: 1; cursor: pointer; transition: color .1s, transform .1s; }
.fr-yildizlar button.on { color: #e0b43a; }
.fr-yildizlar button:hover:not(:disabled) { transform: scale(1.15); }
.fr-yildizlar button:disabled { cursor: not-allowed; opacity: .6; }

/* yapım aşamasındaki sayfalar */
.page.yapim-kapali > *:not(h2):not(.yapim-kart) { display: none !important; }
.yapim-kart { max-width: 520px; margin: 18px 0; padding: 22px; background: var(--surface); border: 1px dashed var(--accent); border-radius: 10px; }
.yapim-kart b { display: block; margin-bottom: 6px; font-size: 18px; color: var(--accent); }
.yapim-kart p { margin: 0 0 14px; color: var(--muted); line-height: 1.5; }
.yapim-kart.yonetici { max-width: none; margin: 8px 0 14px; padding: 8px 12px; border-style: solid; color: var(--accent); font-size: 13.5px; }
.yapim-rozet { display: inline-block; margin-left: 8px; padding: 1px 7px; border: 1px solid var(--line-2); border-radius: 10px; color: var(--muted); font-size: 11px; font-style: normal; font-weight: 600; white-space: nowrap; }

/* bilgi paylaş / soru sor */
.fr-eylem { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.fr-eylem .btn { padding: 11px 20px; font-size: 15px; }
.fr-turler button { border-radius: 6px; }
.fr-tur { padding: 1px 9px; border: 1px solid var(--accent); border-radius: 10px; color: var(--accent); font-size: 11.5px; font-weight: 700; }
.fr-tur.soru { border-color: #e0b43a; color: #e0b43a; }

/* dosya listesi: malzeme arama kısayolları */
.mat-chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 6px; }
.mat-chips button { padding: 2px 9px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; color: var(--text); font: 600 11.5px var(--sans); cursor: pointer; }
.mat-chips button:hover { border-color: var(--accent); color: var(--accent); }

/* ana malzeme kutusu: kısayollar kutuya odaklanınca açılır */
#vw-app .lz-spec > label:has(#vw-mat) { position: relative; }
.mat-chips.popup { display: none; position: absolute; z-index: 30; top: 100%; left: 0; width: 330px; max-width: 90vw; padding: 8px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
.lz-spec label:focus-within > .mat-chips.popup { display: flex; }

/* dosya listesi: "Hangi hammaddeyi seçmeliyim?" düğmesi yazılı */
.vw-lcg .mg-btn.mg-list { display: inline-flex; align-items: center; width: auto; height: 28px; padding: 0 12px; margin: 0 0 6px 0; flex: none; }

/* dosya listesi: kütük şekli, "Malzeme ve kütük" kartının alt bölümü */
.vw-lbmerge { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line-2); }
.vw-lbmerge .vw-lbh { margin: 0 0 6px; }

/* Kademeli Mil sayfasına gömülü dişli çark aracı */
.cd-gearbar { margin: 0 0 10px; }

/* dosya listesi satır ayrıntısı: kartlar sütunlara yukarıdan aşağıya dağılır, boş alan kalmaz */
.vw-ldg { display: block !important; column-width: 270px; column-gap: 14px; }
.vw-ldg > .vw-lcard { display: block; break-inside: avoid; margin: 0 0 14px; }

/* İşçilik ve Ek giderler: ayrı kartlar, aynı sütunda alt alta */
.vw-ldg > .vw-lstack { display: flex; flex-direction: column; gap: 14px; break-inside: avoid; margin: 0 0 14px; }
.vw-lstack > .vw-lcard { margin: 0; }

/* dosya listesi: parça görseli (listede küçük, satır açılınca altta büyük) */
.vw-th { display: inline-block; vertical-align: middle; width: 56px; height: 38px; margin: 0 8px 0 4px; background: rgba(0, 0, 0, .25); border: 1px solid var(--line-2); border-radius: 4px; overflow: hidden; }
.vw-th svg, .vw-th img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vw-th svg path { fill: color-mix(in srgb, var(--accent) 22%, transparent); stroke: var(--accent); stroke-width: 1.4; vector-effect: non-scaling-stroke; fill-rule: evenodd; }
.vw-lprev { padding: 4px 16px 10px; }
.vw-th.big { display: block; width: 100%; max-width: 440px; height: 230px; margin: 0; }

/* parça görseli kartı: kartlar arasında, boş sütuna düşer */
.vw-lprevcard .vw-th.big { max-width: none; height: 170px; }
/* parça görseli kartı: küçük ve sıkı */
.vw-lprevcard { padding: 8px 10px; }
.vw-lprevcard h5 { margin: 0 0 5px; }
.vw-lprevcard .vw-th.big { max-width: 240px; height: 100px; margin: 0 auto; }

/* parça görseli: kutu görselin oranına göre daralır, ortada boş alan kalmaz */
.vw-lprevcard .vw-th.big { display: block; width: fit-content; max-width: 100%; height: auto; margin: 0; background: none; border: 0; }
.vw-lprevcard .vw-th.big svg { width: auto; height: auto; max-width: 100%; max-height: 96px; min-width: 60px; }
.vw-lprevcard .vw-th.big img { width: auto; height: auto; max-width: 100%; max-height: 96px; }

/* parça görseli: yükseklik sabit, genişlik çizimin oranından gelir; etrafta boşluk kalmaz */
.vw-lprevcard .vw-th.big svg { height: 84px; width: auto; max-width: 100%; min-width: 0; max-height: none; }
.vw-lprevcard .vw-th.big img { height: 84px; width: auto; max-height: none; }

/* CAD Aç ve Ölç: parça ağırlığı (gram) renkli ve belirgin */
#vw-app .lz-chip.vw-wt { background: color-mix(in srgb, #e0b43a 16%, transparent); border-color: color-mix(in srgb, #e0b43a 65%, transparent); }
#vw-app .lz-chip.vw-wt span { color: #e0b43a; }
#vw-app .lz-chip.vw-wt b { color: #ffd166; font-size: 17px; }

/* Ölç paneli: ölçüm yöntemi düğmeleri renkli */
.vw-mm button { --mc: var(--accent); border-color: color-mix(in srgb, var(--mc) 45%, var(--line-2)); color: color-mix(in srgb, var(--mc) 70%, var(--text)); }
.vw-mm button:hover { border-color: var(--mc); color: var(--text); }
.vw-mm button.on { background: var(--mc); border-color: var(--mc); color: #101214; }
.vw-mm button[data-mm="auto"] { --mc: #8cc63f; font-weight: 700; }
.vw-mm button[data-mm="gen"] { --mc: #4aa8ff; }
.vw-mm button[data-mm="dia"] { --mc: #ff9f43; }
.vw-mm button[data-mm="rad"] { --mc: #b388ff; }
.vw-mm button[data-mm="len"] { --mc: #2fd0c8; }
.vw-mm button[data-mm="dist"] { --mc: #ffd166; }
.vw-mm button[data-mm="ang"] { --mc: #ff6fa8; }
.vw-mm button[data-mm="plane"] { --mc: #66bb6a; }

/* CAD Aç ve Ölç: en dış çap ve boy renkli */
#vw-app .lz-chip.vw-od { background: color-mix(in srgb, #ff9f43 15%, transparent); border-color: color-mix(in srgb, #ff9f43 60%, transparent); }
#vw-app .lz-chip.vw-od span { color: #ff9f43; }
#vw-app .lz-chip.vw-od b { color: #ffb86b; font-size: 16px; }
#vw-app .lz-chip.vw-bo { background: color-mix(in srgb, #2fd0c8 14%, transparent); border-color: color-mix(in srgb, #2fd0c8 60%, transparent); }
#vw-app .lz-chip.vw-bo span { color: #2fd0c8; }
#vw-app .lz-chip.vw-bo b { color: #6fe7e0; font-size: 16px; }

/* üst özet satırı: ağırlık, en dış çap, boy ve en daha büyük ve renkli */
#vw-app .lz-chip.vw-wt { padding: 5px 14px; }
#vw-app .lz-chip.vw-wt b { font-size: 22px; }
#vw-app .lz-chip.vw-od, #vw-app .lz-chip.vw-bo { padding: 5px 14px; }
#vw-app .lz-chip.vw-od b, #vw-app .lz-chip.vw-bo b { font-size: 21px; }
#vw-app .lz-chip.vw-wt span, #vw-app .lz-chip.vw-od span, #vw-app .lz-chip.vw-bo span { font-size: 12px; font-weight: 600; }
/* En dış çap paneli: büyük ve renkli */
.vw-res.vw-odc { border-color: #ff9f43; background: color-mix(in srgb, #ff9f43 7%, var(--bg)); }
.vw-odc .vw-rt { color: #ff9f43; font-size: 15px; font-weight: 700; }
.vw-odc .vw-big { color: #ffb86b; font-size: 38px; line-height: 1.1; }
.vw-odc .vw-boyl { color: #2fd0c8; font-size: 15px; font-weight: 700; }
.vw-odc .vw-boyv { color: #6fe7e0; font-size: 30px; line-height: 1.15; }

/* Kilogram kutusu ağırlıkla aynı renkte */
#vw-app .lz-chip.vw-kg { padding: 5px 14px; background: color-mix(in srgb, #e0b43a 12%, transparent); border-color: color-mix(in srgb, #e0b43a 50%, transparent); }
#vw-app .lz-chip.vw-kg span { color: #e0b43a; font-size: 12px; font-weight: 600; }
#vw-app .lz-chip.vw-kg b { color: #ffd166; font-size: 20px; }

/* Ölçü kutuları (STEP: Ölçü, DXF: Dış ölçü) mavi ve büyük */
#vw-app .lz-chip.vw-ol { padding: 5px 14px; background: color-mix(in srgb, #4aa8ff 14%, transparent); border-color: color-mix(in srgb, #4aa8ff 60%, transparent); }
#vw-app .lz-chip.vw-ol span { color: #4aa8ff; font-size: 12px; font-weight: 600; }
#vw-app .lz-chip.vw-ol b { color: #9fd0ff; font-size: 19px; }

/* Ölçü X × Y × Z: sayılar 3D'deki eksen renkleriyle */
#vw-app .lz-chip em.ax { font-style: normal; font-weight: 700; }
#vw-app .lz-chip em.ax-x { color: #ff7a77; }
#vw-app .lz-chip em.ax-y { color: #7fd685; }
#vw-app .lz-chip em.ax-z { color: #6cb8ff; }

/* Hacim (STEP) ve Net alan (DXF) mor ve büyük */
#vw-app .lz-chip.vw-hc { padding: 5px 14px; background: color-mix(in srgb, #b388ff 14%, transparent); border-color: color-mix(in srgb, #b388ff 60%, transparent); }
#vw-app .lz-chip.vw-hc span { color: #b388ff; font-size: 12px; font-weight: 600; }
#vw-app .lz-chip.vw-hc b { color: #d4bcff; font-size: 19px; }

/* üst özet satırı tek satır (tam ekranda da) */
#vw-app .lz-chips { flex-wrap: nowrap; overflow-x: auto; gap: 6px; }
#vw-app .lz-chip { flex: none; }
/* Otomatik ölç: en dış çap ve boya göre dolu gram */
.vw-grm { display: flex; flex-direction: column; margin: 2px 0 10px; font-size: 13px; font-weight: 700; color: #e0b43a; }
.vw-grm b { color: #ffd166; font: 700 30px/1.15 var(--mono); }
.vw-grm small { color: var(--muted); font-size: 11.5px; font-weight: 400; }

/* dosya listesi: ne işe yaradığını anlatan not */
.vw-lnote { margin: 4px 0 10px; padding: 8px 12px; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); border-radius: 0 4px 4px 0; color: var(--text-2); font-size: 13px; line-height: 1.45; }
.vw-lnote b { color: var(--accent); }

/* STEP Otomatik ölç bloğu */
.vw-autos { margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line-2); }
.vw-autos .vw-ash { margin: 10px 0 4px; font-size: 13px; color: var(--text-2); }
.vw-autos .vw-ash small { color: var(--muted); font-weight: 400; }
.vw-kv em.ax { font-style: normal; font-weight: 700; }
.vw-kv em.ax-x { color: #ff7a77; } .vw-kv em.ax-y { color: #7fd685; } .vw-kv em.ax-z { color: #6cb8ff; }

.vw-autot { max-height: 260px; overflow: auto; margin-bottom: 6px; }
.vw-autot .vw-lt td, .vw-autot .vw-lt th { text-align: right; }
.vw-autot .vw-lt td:first-child, .vw-autot .vw-lt th:first-child { text-align: left; }
.vw-grm2 { margin-top: 6px; }

.vw-lauto .vw-lt { margin-top: 6px; font-size: 12px; }
.vw-lauto h5 small { color: var(--muted); font-weight: 400; }

.vw-lah { margin: 14px 0 4px; font-size: 13px; display: flex; align-items: center; gap: 6px; }
.vw-lah small { color: var(--muted); font-weight: 400; }

.vw-mm button[data-mm="unf"] { --mc: #e0b43c; }
.vw-unfc { margin: 8px 0; }
.vw-unfl { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-size: 12.5px; color: var(--text-2); }
.vw-unfl select, .vw-unfl input { max-width: 150px; }
.vw-unfno { color: #ff7a59; }

/* kalıp yayı kataloğu */
.yk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.yk-chip { border-color: var(--yc); }
.yk-chip.on { background: color-mix(in srgb, var(--yc) 22%, transparent); font-weight: 700; }
.yk-dot { display: inline-block; width: 11px; height: 11px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.yk-no td { opacity: .45; }
.yk-d { color: #ff7a59; }


/* kalıp yayı kataloğu: solda seçimler alt alta, sağda sonuç ve çizim, altta tablo */
#yaykatalog .yk-top { display: grid; grid-template-columns: 250px 220px minmax(0, 1fr); gap: 18px; align-items: start; }
#yaykatalog .yk-right { display: contents; }
@media (max-width: 1500px) { #yaykatalog .yk-top { grid-template-columns: 250px minmax(0, 1fr); } #yaykatalog .yk-left { grid-row: span 2; } #yaykatalog .yk-right .result { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } #yaykatalog .yk-right #yk-svg { max-height: 520px; } }
#yaykatalog .yk-left { display: flex; flex-direction: column; gap: 12px; }
#yaykatalog .yk-left .yk-chips { display: flex; flex-direction: column; gap: 6px; margin: 0; }
#yaykatalog .yk-left .yk-chip, #yaykatalog .yk-left .yk-chips > .btn { width: 100%; justify-content: flex-start; text-align: left; }
#yaykatalog .yk-left .grid { display: flex; flex-direction: column; gap: 10px; margin: 0; }
#yaykatalog .yk-left .grid label { display: flex; flex-direction: column; gap: 4px; }
#yaykatalog .yk-right .result { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 0; }
#yaykatalog .yk-right .stat { padding: 8px 12px; }
#yaykatalog .yk-right .stat .v { font-size: 16px; }
#yaykatalog .yk-right #yk-svg { width: 100%; max-height: 460px; }
#yaykatalog .yk-bot .yk-tw { max-height: 75vh; overflow: auto; }
#yaykatalog .yk-low { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 18px; margin-top: 14px; align-items: start; }
@media (max-width: 960px) { #yaykatalog .yk-top, #yaykatalog .yk-low { grid-template-columns: minmax(0, 1fr); } }
#yaykatalog .yk-eksik { margin: 0 0 10px; padding: 8px 12px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 10%, transparent); font-size: 13px; }
/* kalıp yayı seçim düğmeleri: seçili olan dolu renk ve kalın çerçeve, diğerleri sönük */
#yaykatalog .yk-chips > .btn { border: 1px solid var(--line); background: transparent; color: var(--text-2); font-weight: 500; opacity: .8; }
#yaykatalog .yk-chips > .btn:hover { opacity: 1; border-color: var(--yc, var(--accent)); }
#yaykatalog .yk-chips > .btn.on { opacity: 1; font-weight: 700; color: var(--text); border: 2px solid var(--yc, var(--accent)); background: color-mix(in srgb, var(--yc, var(--accent)) 30%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--yc, var(--accent)) 25%, transparent); }
#yaykatalog .yk-chips > .btn.on::after { content: "✓"; margin-left: auto; padding-left: 10px; font-weight: 700; }
/* kalıp yayı tablosu: satır rengi sıkıştırma bölgesi */
#yk-tbl tr.yk-z0 td { background: color-mix(in srgb, #4fb36a 20%, transparent); }
#yk-tbl tr.yk-z1 td { background: color-mix(in srgb, #d6c13a 18%, transparent); }
#yk-tbl tr.yk-z2 td { background: color-mix(in srgb, #ee9a3a 20%, transparent); }
#yk-tbl tr.yk-z3 td { background: color-mix(in srgb, #e0463a 18%, transparent); }
#yk-tbl tr.yk-z0 td:first-child { box-shadow: inset 4px 0 0 #4fb36a; }
#yk-tbl tr.yk-z1 td:first-child { box-shadow: inset 4px 0 0 #d6c13a; }
#yk-tbl tr.yk-z2 td:first-child { box-shadow: inset 4px 0 0 #ee9a3a; }
#yk-tbl tr.yk-z3 td:first-child { box-shadow: inset 4px 0 0 #e0463a; }
#yk-tbl tr.sel td { outline: 1px solid var(--text-2); outline-offset: -1px; }
.yk-ipucu { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 0 0 10px; font-size: 12.5px; }
.yk-ipucu span { padding-left: 10px; border-left: 4px solid; }
.yk-ipucu .yk-k0 { border-color: #4fb36a; } .yk-ipucu .yk-k1 { border-color: #d6c13a; } .yk-ipucu .yk-k2 { border-color: #ee9a3a; } .yk-ipucu .yk-k3 { border-color: #e0463a; }
.yk-ipucu small { color: var(--muted); }
@media (max-width: 960px) { #yaykatalog .yk-left { grid-row: auto; } }
@media (min-width: 961px) and (max-width: 1500px) { #yaykatalog .yk-right .result { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } #yaykatalog .yk-right #yk-svg { max-height: 430px; } }
/* hesap sayfalarında çizim: girişlerin ve sonuçların altında, tam genişlikte okunur boyda */
.pg-panel > .pg-fig { grid-column: 1 / -1; display: grid; gap: 10px; justify-items: center; }
.pg-panel > .pg-fig > svg.diagram { width: 100%; max-width: 820px; margin: 0; }
.pg-panel > .pg-fig > .hint-row { max-width: 820px; width: 100%; }
.pg-panel > .pg-out:empty { display: none; }
.pg-panel > .pg-fig > figure.sheet { width: 100%; max-width: 820px; margin: 0; }
.pg-panel > .pg-fig > svg.diagram[viewBox^="0 0 480"] { max-width: 540px; }
/* çizim küçüldü; dar tablolu sayfalarda çizim solda, tablo sağda */
.pg-panel > .pg-fig > svg.diagram, .pg-panel > .pg-fig > figure.sheet { max-width: 600px; }
.pg-panel > .pg-fig > svg.diagram[viewBox^="0 0 480"] { max-width: 480px; }
.pg-panel.pg-duo > .pg-fig { grid-column: 1; align-self: start; justify-items: stretch; }
.pg-panel.pg-duo > .pg-fig > svg.diagram, .pg-panel.pg-duo > .pg-fig > figure.sheet, .pg-panel.pg-duo > .pg-fig > .hint-row { max-width: none; width: 100%; }
.pg-panel.pg-duo > .pg-tbl { grid-column: 2; align-self: start; }
@media (max-width: 1100px) { .pg-panel.pg-duo > .pg-fig, .pg-panel.pg-duo > .pg-tbl { grid-column: 1 / -1; } .pg-panel > .pg-fig > svg.diagram, .pg-panel > .pg-fig > figure.sheet { max-width: 560px; } }
/* çizim çerçevesi sadeleşti: kılavuz çizgileri ve küçük harf aralıklı büyük harf başlık kalktı (tasarım denetimi) */
.sheet { background-image: none; background-color: var(--surface); padding: 18px 20px; }
.titleblock { font: 500 13.5px var(--sans); letter-spacing: 0; text-transform: none; color: var(--muted); }
.titleblock > div:first-child { color: var(--text); font-weight: 600; }
/* çizim ve tablo her zaman alt alta, tam sütun genişliğinde (yan yana düzen kaldırıldı) */
.pg-panel.pg-duo > .pg-fig, .pg-panel.pg-duo > .pg-tbl { grid-column: 1 / -1; }
.pg-panel > .pg-fig { justify-items: center; }
.pg-panel > .pg-tbl { grid-column: 1 / -1; width: 100%; }
/* telefon: üst çubuk taşmasın (Bursa Cıvata yazısı gizlenir, logo kalır) */
@media (max-width: 520px) {
  .top-actions { gap: 6px; flex-shrink: 0; }
  .bc-link span { display: none; }
  .bc-link { padding-left: 8px; padding-right: 8px; }
  .topbar { gap: 8px; }
}
@media (max-width: 520px) { .bc-link { display: none; } .brand { font-size: 18px; } .uye-btn { padding: 6px 10px; } }
/* yazı boyutları küçültüldü (hesap sayfaları ve ana sayfa; 3D sayfalara dokunulmadı) */
body { font-size: 15px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) h2 { font-size: 25px; margin-bottom: 8px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) h2 small { font-size: 13.5px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .lead { font-size: 15px; line-height: 1.6; margin-bottom: 18px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) h3 { font-size: 15.5px; margin: 24px 0 10px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) label { font-size: 12.5px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) input, .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) select { font-size: 14px; height: 38px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .stat .k { font-size: 12px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .stat .v { font-size: 16px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .stat.hl .v { font-size: 19px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .tbl { font-size: 13px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .tbl th { font-size: 12px; }
.page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) .note { font-size: 13px; }
.sidebar a { font-size: 13.5px; } .nav-title { font-size: 13.5px; }
.hero h1 { font-size: clamp(30px, 4vw, 46px); } .hero p { font-size: 15.5px; }
.sec-head h2 { font-size: 24px; } .qcard .qt { font-size: 14.5px; }

/* ---------- tasarım katmanı: teknik resim paftası (3D sayfalara dokunulmaz) ----------
   Kimlik aynı (siyah + fıstık yeşili). Ana fikir: ana sayfa girişi bir resim paftası gibi çerçeveli, antetli;
   geri kalanı sessiz: çerçevesiz kataloglar, ince çizgiler, tutarlı keskin köşe. */
html { accent-color: var(--accent); scrollbar-color: var(--line-2) transparent; }
::selection { background: color-mix(in srgb, var(--accent) 38%, transparent); color: inherit; }
input, select, textarea { caret-color: var(--accent); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 6px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); background-clip: content-box; }
a { text-underline-offset: 3px; }
h1, h2, h3 { text-wrap: balance; }

/* üst bölge */
.topbar { box-shadow: 0 1px 0 rgba(255, 255, 255, .03); }
.brand { letter-spacing: -.2px; }
.icon-btn { transition: border-color .15s, color .15s, background-color .15s; }
.icon-btn:hover { background: var(--accent-soft); }
.hn-btn { transition: color .15s, border-color .15s; }

/* giriş: çerçeveli pafta */
.hero h1 { letter-spacing: -.035em; line-height: 1.06; }
.hero-search input { border-radius: 4px; }
.hero-res { border-radius: 4px; }
.hero-draw { padding: 22px 22px 0; border: 1px solid #2c3034; background: rgba(255, 255, 255, .02);
  background-image: linear-gradient(#8cc63f, #8cc63f), linear-gradient(#8cc63f, #8cc63f), linear-gradient(#8cc63f, #8cc63f), linear-gradient(#8cc63f, #8cc63f);
  background-size: 14px 2px, 2px 14px, 14px 2px, 2px 14px; background-position: left top, left top, right top, right top; background-repeat: no-repeat; }
.hero-draw svg { max-height: 300px; }
.antet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px -22px 0; border-top: 1px solid #2c3034; }
.antet > div { padding: 9px 14px 10px; }
.antet > div + div { border-left: 1px solid #2c3034; }
.antet dt { margin: 0; font: 400 11.5px var(--sans); color: #8b9198; }
.antet dd { margin: 1px 0 0; font: 500 13.5px var(--mono); color: #e6e8ea; }
@media (prefers-reduced-motion: no-preference) {
  .hero-text > * { opacity: 0; transform: translateY(10px); animation: hero-in .7s cubic-bezier(.2, .7, .2, 1) forwards; }
  .hero-text > :nth-child(2) { animation-delay: .08s; } .hero-text > :nth-child(3) { animation-delay: .16s; } .hero-text > :nth-child(4) { animation-delay: .24s; }
  .hero-draw { opacity: 0; animation: hero-in .8s cubic-bezier(.2, .7, .2, 1) .1s forwards; }
}
@keyframes hero-in { to { opacity: 1; transform: none; } }
@media (max-width: 520px) { .hero-draw { padding: 14px 14px 0; } .antet { margin-inline: -14px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .antet > div:nth-child(3) { border-left: 0; } .antet > div:nth-child(n+3) { border-top: 1px solid #2c3034; } }

/* ana sayfa bölümleri */
.cad-band { border-top: 1px solid var(--line-2); }
.cad-band-head h2, .who h2, .sec-head h2 { letter-spacing: -.02em; }
.cad-feats dt { font-size: 15px; }
.who-list b { font-size: 14.5px; }
.who-list li { transition: background-color .15s; }
.who-list li:hover { background: var(--stat-bg); }
.stats { background: none; border-width: 1px 0; border-radius: 0; }
.stats b { font-weight: 500; font-size: 30px; color: var(--text); letter-spacing: -.02em; }
.stats span { font-size: 14px; color: var(--text-2); font-weight: 500; }
.stats > div { padding: 20px 4px 20px 24px; }
.stats > div:first-child { padding-left: 0; }
.qcard { border-radius: 4px; }
.cat-grid { column-gap: 40px; }
.cat { background: none; border: 0; border-top: 1px solid var(--line-2); border-radius: 0; padding: 18px 0 10px; }
.cat-head { border-bottom-color: transparent; padding-bottom: 8px; }
.cat-icon { background: none; width: 28px; height: 28px; border-radius: 0; }
.cat-icon .ico { width: 22px; height: 22px; }
.cat-n { background: none; padding: 0; font: 500 12.5px var(--sans); }
.cat li a { padding: 8px 10px; margin: 0 -10px; transition: background-color .12s; }
.faq summary { transition: color .15s; }
.faq summary:hover { color: var(--accent); }
.faq details p, .about p { line-height: 1.7; }

/* hesap sayfaları (3D sayfalar hariç) */
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) h2 { letter-spacing: -.02em; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .lead { color: var(--text-2); max-width: 70ch; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .panel { border-radius: 4px; background: var(--surface); }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .stat { border-radius: 4px; border-color: var(--line); background: transparent; transition: border-color .15s, background-color .15s; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .stat:hover { border-color: var(--line-2); background: var(--stat-bg); }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .stat.hl { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .scroll { border-radius: 4px; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .btn { border-radius: 3px; transition: border-color .15s, color .15s, background-color .15s, transform .1s; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .btn:active { transform: translateY(1px); }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) .btn.primary { font-family: var(--head); letter-spacing: .2px; }
.page:where(:not(#cadgor, #mil3d, #lazer, #disli3d)) details.info summary:hover { color: var(--accent); }

/* sol menü */
.sidebar a { transition: background-color .12s, color .12s; }
.nav-title { transition: color .15s; }

/* alt bilgi */
.footer { border-top: 1px solid var(--line); }
.ft-col h2 { letter-spacing: -.1px; }
#home .hero-search input { height: 50px !important; font-size: 15.5px !important; }
#home .hero-search > .ico { top: 15px; }
/* geometrik toleranslar: ISO 1101 sembolleri */
.gt-ic { width: 26px; height: 26px; display: block; fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#gt-stbl td:first-child { width: 56px; }
#geotol .scroll { max-height: none; }
#geotol .gt-txt p { color: var(--text-2); font-size: 14.5px; line-height: 1.7; max-width: 76ch; margin: 0 0 12px; }
#geotol .gt-txt p b, #geotol .gt-ol b { color: var(--text); font-weight: 600; }
#geotol .gt-txt h4 { margin: 28px 0 6px; font: 600 15.5px var(--head); color: var(--text); }
#geotol .gt-txt h4 + p { margin-bottom: 14px; }
#geotol .gt-ol { margin: 14px 0; padding-left: 22px; color: var(--text-2); font-size: 14.5px; line-height: 1.65; max-width: 76ch; }
#geotol .gt-ol li { margin: 0 0 8px; padding-left: 4px; }
#geotol .gt-dl { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0 14px; margin: 0; }
#geotol .gt-dl dt { padding: 14px 0; border-top: 1px solid var(--line); }
#geotol .gt-dl dd { margin: 0; padding: 14px 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }
#geotol .gt-dl dd b { font: 600 14.5px var(--head); color: var(--text); }
#geotol .gt-dl dd span { color: var(--text-2); font-size: 14px; line-height: 1.65; max-width: 76ch; }
#geotol .diagram { margin: 8px 0 4px; max-width: 520px; }
/* çizim, kısa sütunun altındaki boşluğa oturur (js/layout.js tuck): girişler ya da sonuçlar uzunsa çizim yanlarında görünür */
@media (min-width: 961px) {
  .pg-panel.fig-in, .pg-panel.fig-out { grid-template-rows: auto 1fr; }
  .pg-panel.fig-in > .pg-in { grid-column: 1; grid-row: 1; }
  .pg-panel.fig-in > .pg-out { grid-column: 2; grid-row: 1 / span 2; }
  .pg-panel.fig-in > .pg-fig { grid-column: 1; grid-row: 2; align-self: start; justify-items: stretch; }
  .pg-panel.fig-out > .pg-in { grid-column: 1; grid-row: 1 / span 2; }
  .pg-panel.fig-out > .pg-out { grid-column: 2; grid-row: 1; }
  .pg-panel.fig-out > .pg-fig { grid-column: 2; grid-row: 2; align-self: start; justify-items: stretch; }
  .pg-panel.fig-in > .pg-fig > svg.diagram, .pg-panel.fig-in > .pg-fig > figure.sheet, .pg-panel.fig-out > .pg-fig > svg.diagram, .pg-panel.fig-out > .pg-fig > figure.sheet { max-width: 100%; margin-inline: 0; }
}
/* standart bağlantı elemanları kataloğu */
.kt { margin-top: 8px; }
.kt-bar { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: flex-end; margin-bottom: 16px; }
.kt-bar label { flex: 1 1 280px; max-width: 420px; }
.kt-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kt-chip { background: transparent; color: var(--text-2); border: 1px solid var(--line-2); border-radius: 3px; padding: 7px 13px; font: 600 13px var(--head); cursor: pointer; transition: border-color .15s, color .15s, background-color .15s; }
.kt-chip:hover { border-color: var(--accent); color: var(--accent); }
.kt-chip.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.kt-body { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 24px; align-items: start; }
.kt-list { list-style: none; margin: 0; padding: 0; max-height: 72vh; overflow: auto; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); }
.kt-list li + li { border-top: 1px solid var(--line); }
.kt-it { width: 100%; display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 10px 14px; background: none; border: 0; color: var(--text); cursor: pointer; font: inherit; }
.kt-it:hover { background: var(--surface-2); }
.kt-it.on { background: var(--accent-soft); }
.kt-it.on .kt-n { color: var(--accent); }
.kt-n { font: 600 14px var(--head); line-height: 1.35; }
.kt-it small { color: var(--muted); font-size: 12.5px; }
.kt-none, .kt-ph { padding: 16px; color: var(--muted); font-size: 14px; }
.kt-det h3 { margin: 0 0 4px; font-size: 20px; }
.kt-en { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.kt-stds, .kt-tol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 12px; }
.kt-tol b { font: 600 13px var(--head); color: var(--text-2); margin-right: 4px; }
.kt-std { padding: 3px 9px; border: 1px solid var(--line-2); border-radius: 3px; font: 600 13px var(--mono); color: var(--text); font-variant-numeric: tabular-nums; }
.kt-std.t { color: var(--text-2); border-color: var(--line); font-weight: 500; }
.kt-chk { flex-direction: row; align-items: center; gap: 8px; margin: 10px 0 4px; font-weight: 500; font-size: 13.5px; cursor: pointer; }
.kt-chk input { width: auto; height: auto; accent-color: var(--accent); }
.kt-sub { margin: 18px 0 -6px; color: var(--muted); font-size: 13px; }
.kt-d td { color: var(--accent); font-weight: 600; }
.kt-src { margin: 22px 0 0; color: var(--muted); font-size: 13px; max-width: 80ch; }
@media (max-width: 900px) { .kt-body { grid-template-columns: minmax(0, 1fr); } .kt-list { max-height: 320px; } }
.kt-fig { max-width: 780px; margin: 14px 0 6px; } .kt-fig svg { max-width: none; }
/* katalog: ürün listesi arama kutusunun altında açılır */
.kt-bar .kt-find { flex: 1 1 320px; max-width: 480px; position: relative; }
.kt-bar .kt-find label { max-width: none; }
.kt-find .kt-list { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; max-height: min(60vh, 460px); box-shadow: 0 14px 30px rgba(0, 0, 0, .4); background: var(--surface); }
.kt-it.act { background: var(--surface-2); }
.kt-body { display: block; }
.kt-det { margin-top: 4px; }
/* katalog teknik çizimleri: beyaz zemin koyu temada ters çevrilir, kareli zemine karışır */
.kt-fig img { display: block; width: auto; height: auto; max-width: 100%; max-height: 380px; margin: 0 auto; mix-blend-mode: multiply; }
:root:not([data-theme="light"]) .kt-fig img { filter: invert(1); mix-blend-mode: screen; }
/* katalog tabloları: ölçü sınırları renkli (max turuncu, min mavi, nominal yeşil) */
:root { --kt-mx: #f0a23c; --kt-mn: #5fb4f0; --kt-nm: var(--accent); }
:root[data-theme="light"] { --kt-mx: #b35f00; --kt-mn: #1f6fb0; --kt-nm: var(--accent); }
.kt-lg { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; font: 600 13px var(--head); }
.kt-lg span::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 7px; background: currentColor; }
.kt-mx, .kt-lg .kt-mx { color: var(--kt-mx); } .kt-mn, .kt-lg .kt-mn { color: var(--kt-mn); } .kt-nm, .kt-lg .kt-nm { color: var(--kt-nm); }
.tbl tr.kt-mx td, .tbl tr.kt-mn td, .tbl tr.kt-nm td, .tbl td.kt-mx, .tbl td.kt-mn, .tbl td.kt-nm, .tbl th.kt-mx, .tbl th.kt-mn, .tbl th.kt-nm { color: inherit; }
.tbl tr.kt-mx td { color: var(--kt-mx); } .tbl tr.kt-mn td { color: var(--kt-mn); } .tbl tr.kt-nm td { color: var(--kt-nm); }
.tbl td.kt-mx, .tbl th.kt-mx { color: var(--kt-mx); } .tbl td.kt-mn, .tbl th.kt-mn { color: var(--kt-mn); } .tbl td.kt-nm, .tbl th.kt-nm { color: var(--kt-nm); }

/* diş ölçü ve toleransları: görseller */
.dt-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 6px; }
@media (max-width: 760px) { .dt-figs { grid-template-columns: minmax(0, 1fr); } }
.dt-fig { margin: 0; border: 1px solid var(--line); border-radius: 4px; padding: 10px 10px 8px; background: var(--surface); }
.dt-fig svg { width: 100%; height: auto; display: block; }
.dt-fig figcaption { font-size: 11.5px; color: var(--muted); margin-top: 8px; line-height: 1.5; }
.dt-lg { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 4px; font-weight: 700; }
.dt-lg .b { color: var(--kt-nm); } .dt-lg .n { color: var(--kt-mn); }
.dt-t { font: 21px Lato, system-ui, sans-serif; fill: var(--text); }
.dt-t.dt-v { font-size: 17px; }
.dt-t.b { fill: var(--kt-nm); } .dt-t.n { fill: var(--kt-mn); } .dt-t.m { fill: var(--muted); } .dt-t.sel { fill: var(--text); font-weight: 700; }
.dt-bolt { fill: color-mix(in srgb, var(--kt-nm) 22%, transparent); stroke: var(--kt-nm); stroke-width: 1.6; stroke-linejoin: round; }
.dt-nut { fill: color-mix(in srgb, var(--kt-mn) 20%, transparent); stroke: var(--kt-mn); stroke-width: 1.6; stroke-linejoin: round; }
.dt-g { fill: none; stroke: var(--muted); stroke-width: 1; stroke-dasharray: 3 3; }
.dt-g.b { stroke: var(--kt-nm); } .dt-g.n { stroke: var(--kt-mn); }
.dt-zero { stroke: var(--text); stroke-width: 1.2; }
.dt-z.b { fill: color-mix(in srgb, var(--kt-nm) 45%, transparent); stroke: var(--kt-nm); }
.dt-z.n { fill: color-mix(in srgb, var(--kt-mn) 45%, transparent); stroke: var(--kt-mn); }
.dt-z.sel { stroke: var(--text); stroke-width: 2; }
.dt-ah { fill: var(--muted); }
.dt-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 10px; }
.dt-tabs h3 { margin: 6px 0; }
@media (max-width: 760px) { .dt-tabs { grid-template-columns: minmax(0, 1fr); } }

/* kaplama bilgileri */
.kp-h { font-size: 14px; font-weight: 600; margin: 22px 0 8px; }
.kp-h:first-child { margin-top: 0; }
.kp .note { font-size: 12px; color: var(--muted); margin: 6px 0 0; }

/* yan menüde tema düğmesi: karşıt temaya geçer */
.sidebar .nav-theme { display: flex; align-items: center; gap: 9px; width: 100%; margin: 0 0 10px; padding: 9px 10px; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--radius); color: var(--text); font: 600 14px var(--sans); cursor: pointer; text-align: left; }
.sidebar .nav-theme .ico { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar .nav-theme:hover { border-color: var(--accent); color: var(--accent); }

/* beyaz tema: grup etiketleri koyulaştırılır (pastel renkler beyazda okunmuyordu) */
:root[data-theme="light"] .tag { color: color-mix(in srgb, var(--c) 48%, #000); background: color-mix(in srgb, var(--c) 18%, #fff); border-color: color-mix(in srgb, var(--c) 55%, #fff); font-weight: 600; }

/* beyaz tema: tablo ve metin okunurluğu */
:root[data-theme="light"] .tbl th { color: var(--text); font-weight: 600; background: #e6e9ec; border-bottom-color: var(--line-2); }
:root[data-theme="light"] .tbl td { color: var(--text); }
:root[data-theme="light"] .tbl td:first-child, :root[data-theme="light"] .tbl th:first-child { background-clip: padding-box; }
:root[data-theme="light"] .tbl tbody tr:hover td { background: #f0f2f4; }
:root[data-theme="light"] .tbl tr.sel td { color: var(--text); }
:root[data-theme="light"] .note, :root[data-theme="light"] .st-count, :root[data-theme="light"] .st-hint, :root[data-theme="light"] .st-foot { color: var(--muted); }
:root[data-theme="light"] .st-grid span, :root[data-theme="light"] .st-wide span { color: var(--muted); }
:root[data-theme="light"] .st-grid div, :root[data-theme="light"] .st-wide { background: #fff; border-color: var(--line-2); }
:root[data-theme="light"] .st-box { background: #fff; }
:root[data-theme="light"] .sidebar a { color: var(--text-2); }

/* hammadde tablosu: bileşim sütunu daha geniş, işaretli satırlar */
#st-tbl td, #st-tbl th { padding: 8px 10px; }
#st-tbl td:nth-child(6) { min-width: 270px; font-size: 13px; line-height: 1.5; }
#st-tbl td:nth-child(7), #st-tbl td:nth-child(8) { min-width: 120px; }
#st-tbl td:nth-child(9) { min-width: 230px; }
#st-tbl td:nth-child(1) { white-space: nowrap; }
.dv { color: var(--bad); font-weight: 700; cursor: help; }
:root[data-theme="light"] .dv { color: #b3261e; }

/* beyaz tema: koyu zemin için seçilmiş pastel satır içi renkler koyulaştırılır (3D sayfalara dokunulmaz) */
:root[data-theme="light"] .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) [style*="color:#5aa9e6"] { color: #1c63a8 !important; }
:root[data-theme="light"] .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) [style*="color:#4cc38a"] { color: #157148 !important; }
:root[data-theme="light"] .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) [style*="color:#e6c34c"] { color: #7d6100 !important; }
:root[data-theme="light"] .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) [style*="color:#f28c28"] { color: #a85600 !important; }
:root[data-theme="light"] .page:not(#cadgor):not(#mil3d):not(#lazer):not(#disli3d):not(#kademeli) [style*="color:#ef5d5d"] { color: #b72d24 !important; }
/* forum ve yorum: sarı yıldız ve soru etiketi */
:root[data-theme="light"] .fr-yildiz, :root[data-theme="light"] .fr-yildizlar button.on, :root[data-theme="light"] .fr-tur.soru { color: #8a6500; }
:root[data-theme="light"] .fr-tur.soru { border-color: #8a6500; }
:root[data-theme="light"] .uye-hata, :root[data-theme="light"] .yorum-hata, :root[data-theme="light"] .fr-hata, :root[data-theme="light"] .fr-kilit, :root[data-theme="light"] .pr-m.h { color: #b3261e; }
:root[data-theme="light"] .btn.danger { color: #b3261e; border-color: #b3261e; }

/* bağlantı elemanı çizimleri sayfası */
.bz-bar label { display: block; }
.bz-bar input { width: 100%; max-width: 520px; }
.bz-say { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.bz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 14px 0; }
.bz-kart { margin: 0; background: var(--surface); border: 1px solid rgba(128, 128, 128, .3); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.bz-res { height: 120px; display: flex; align-items: center; justify-content: center; background: #fff; padding: 8px; }
.bz-res img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bz-kart figcaption { padding: 9px 12px 12px; display: flex; flex-direction: column; gap: 2px; }
.bz-kart b { font: 600 14px var(--head); }
.bz-tr { font-size: 13px; }
.bz-kart small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.bz-more { text-align: center; margin: 4px 0 14px; }
.bz-res svg { width: 100%; height: 100%; }
.bz-sem { font: 600 10px var(--head); font-style: normal; padding: 1px 6px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); vertical-align: 1px; }
.bz-not { margin-top: 4px; }
:root[data-theme="light"] .bz-sem { color: #1f5f1f; }
.bz-kart { cursor: zoom-in; transition: border-color .15s; }
.bz-kart:hover, .bz-kart:focus-visible { border-color: var(--accent); outline: none; }
.bz-dlg { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; border: 1px solid rgba(128, 128, 128, .4); border-radius: 12px; padding: 20px 22px 18px; background: var(--surface); color: var(--text); }
.bz-dlg::backdrop { background: rgba(0, 0, 0, .65); }
.bz-x { position: absolute; top: 8px; right: 10px; width: 36px; height: 36px; font-size: 24px; line-height: 1; background: none; border: 0; color: var(--text); cursor: pointer; }
.bz-big { background: #fff; border-radius: 10px; padding: 14px; display: flex; align-items: center; justify-content: center; min-height: 200px; margin: 18px 0 14px; }
.bz-big img { max-width: 100%; max-height: 320px; object-fit: contain; }
.bz-big svg { width: 100%; max-height: 300px; }
.bz-dlg h3 { margin: 0 0 4px; } .bz-dlg h4 { margin: 14px 0 4px; font-size: 13px; color: var(--muted); }
.bz-dlg p { margin: 0 0 6px; line-height: 1.55; }
.bz-dt { font-size: 17px; font-weight: 600; } .bz-de { color: var(--muted); font-size: 13px; }
.bz-g { color: var(--muted); font-size: 12px; margin-top: 12px !important; }

/* ---------- açılır menü (sol akordeon): ince çizgili ağaç, simge kutusu, sayaç, yumuşak açılış ---------- */
.sidebar { scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
.nav-group { border-bottom: 0; margin: 2px 0; }
.nav-title { padding: 9px 8px; border-radius: var(--radius); gap: 11px; transition: background-color .15s, color .15s; }
.nav-title:hover { background: var(--surface-2); color: var(--text); }
.nav-title .ico:not(.chev) { box-sizing: content-box; width: 18px; height: 18px; padding: 6px; border-radius: 9px; background: var(--accent-soft); fill: none; stroke: var(--accent); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: background-color .15s, stroke .15s; }
.nav-title .chev { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.nav-n { margin-left: auto; min-width: 22px; padding: 1px 7px; border-radius: 10px; background: var(--surface-2); color: var(--muted); font: 600 11.5px var(--sans); text-align: center; }
.nav-title .nav-n + .chev { margin-left: 4px; }
.nav-group.open > .nav-title { color: var(--text); }
.nav-group.open > .nav-title .ico:not(.chev) { background: var(--accent); stroke: var(--on-accent, #0b0b0b); }
.nav-group:has(a.active) > .nav-title { color: var(--accent); }
.nav-group:has(a.active) > .nav-title .nav-n { background: var(--accent-soft); color: var(--accent); }
.nav-links { margin: 2px 0 6px 21px; padding: 2px 0 4px; border-left: 1px solid var(--line-2); }
.nav-group.open .nav-links { animation: navAc .22s ease-out; }
@keyframes navAc { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.sidebar .nav-links a { position: relative; margin: 1px 0 1px 8px; padding: 6px 10px 6px 12px; border-radius: 8px; line-height: 1.35; transition: background-color .12s, color .12s, padding-left .12s; }
.sidebar .nav-links a:hover { padding-left: 15px; }
.sidebar .nav-links a.active { font-weight: 600; }
.sidebar .nav-links a.active::before { content: ""; position: absolute; left: -9px; top: 6px; bottom: 6px; width: 3px; border-radius: 2px; background: var(--accent); }
@media (max-width: 800px) { .nav-title { padding: 12px 8px; } .sidebar .nav-links a { padding-top: 10px; padding-bottom: 10px; } }
@media (prefers-reduced-motion: reduce) { .nav-group.open .nav-links { animation: none; } .nav-title .chev, .sidebar .nav-links a { transition: none; } }
.nav-title { gap: 9px; }
.nav-title .ico:not(.chev) { width: 17px; height: 17px; padding: 5px; border-radius: 8px; }
.nav-n { min-width: 20px; padding: 1px 6px; }
.nav-title > span:not(.nav-n) { min-width: 0; }

/* bağlantı elemanı çizimleri: standart numaraları tema yeşili, büyütme penceresi düzeni */
.bz { --bz-din: var(--accent); }
:root[data-theme="light"] .bz, :root[data-theme="light"] .bz-dlg { --bz-din: #3d7a0e; }
.bz-kart b { color: var(--bz-din); font: 700 14.5px var(--head); letter-spacing: .01em; }
.bz-kart .bz-tr { color: var(--text); font-weight: 500; margin-top: 1px; }
.bz-kart:hover { box-shadow: 0 4px 18px rgba(0, 0, 0, .18); }
.bz-dlg { --bz-din: var(--accent); width: min(680px, calc(100vw - 24px)); padding: 0; border-radius: 14px; box-shadow: 0 24px 70px rgba(0, 0, 0, .55); }
.bz-dlg[open] { animation: bzAc .18s ease-out; }
@keyframes bzAc { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.bz-big { margin: 0; border-radius: 14px 14px 0 0; min-height: 230px; padding: 22px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.bz-x { z-index: 2; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; background: rgba(20, 22, 24, .78); color: #fff; font-size: 22px; transition: background-color .15s; }
.bz-x:hover { background: var(--accent); color: #0e0f10; }
.bz-head { display: flex; align-items: center; gap: 10px; padding: 18px 24px 0; }
.bz-din { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--accent-soft); border: 1px solid var(--bz-din); color: var(--bz-din); font: 700 15px var(--head); letter-spacing: .02em; }
.bz-dlg .bz-dt { margin: 10px 24px 2px; font: 600 21px/1.3 var(--head); color: var(--text); }
.bz-dlg .bz-de { margin: 0 24px 4px; color: var(--muted); font-size: 13.5px; }
.bz-use, .bz-nt { margin: 14px 24px 0; padding: 12px 16px 13px; border-radius: 10px; background: var(--surface-2); border-left: 3px solid var(--bz-din); }
.bz-nt { border-left-color: rgba(128, 128, 128, .5); }
.bz-dlg h4 { margin: 0 0 4px; font: 700 12px var(--head); letter-spacing: .06em; text-transform: uppercase; color: var(--bz-din); }
.bz-nt h4 { color: var(--muted); }
.bz-use p, .bz-nt p { margin: 0; line-height: 1.6; font-size: 14.5px; }
.bz-dlg .bz-g { margin: 14px 24px 20px !important; }
:root[data-theme="light"] .bz-x { background: rgba(255, 255, 255, .9); color: #111; border: 1px solid rgba(0, 0, 0, .15); }
@media (max-width: 600px) { .bz-head, .bz-dlg .bz-dt, .bz-dlg .bz-de { margin-left: 16px; margin-right: 16px; padding-left: 0; } .bz-head { padding-left: 16px; } .bz-use, .bz-nt { margin-left: 16px; margin-right: 16px; } .bz-dlg .bz-g { margin-left: 16px !important; margin-right: 16px !important; } }
@media (prefers-reduced-motion: reduce) { .bz-dlg[open] { animation: none; } }

/* popup: koyu arka plan + bulanıklık, daha okunaklı yazı */
.bz-dlg::backdrop { background: rgba(5, 7, 9, .86); backdrop-filter: blur(7px); }
.bz-dlg { background: var(--surface); border-color: var(--line-2); }
.bz-dlg .bz-dt { font-size: 22px; letter-spacing: -.2px; }
.bz-dlg .bz-de { font-size: 14.5px; color: var(--text-2); }
.bz-use p, .bz-nt p { font-size: 15.5px; color: var(--text); }
.bz-use { background: var(--accent-soft); }
.bz-big img { max-height: 360px; image-rendering: auto; }
.bz-big svg { max-height: 320px; }
.bz-dlg h4 { font-size: 12.5px; }

/* ---------- menü dilinin tüm siteye uygulanması (3D sayfalar hariç): yumuşak köşe, yeşil çubuk, yeşil ton ---------- */
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .panel { border-radius: 12px; border-color: var(--line); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) h3 { display: flex; align-items: center; gap: 9px; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) h3::before { content: ""; flex: none; width: 3px; height: 1.05em; border-radius: 2px; background: var(--accent); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) h3 small { margin-left: 2px; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) input, .page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) select { border-radius: 10px; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) input:hover, .page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) select:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--line-2)); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .btn { border-radius: 10px; transition: background-color .15s, border-color .15s, color .15s, transform .12s; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .btn:not(.primary):hover { background: var(--accent-soft); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .btn:active { transform: translateY(1px); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .stat { border-radius: 10px; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .scroll { border-radius: 10px; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .tbl th { background: color-mix(in srgb, var(--accent) 9%, var(--surface-2)); color: var(--text); font-weight: 600; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .tbl tbody tr { transition: background-color .12s; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .tbl tbody tr:hover td { background: var(--accent-soft); }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) .crumb a { transition: color .15s; }
.page:not(:is(#cadgor, #mil3d, #lazer, #disli3d, #kademeli)) h2 { position: relative; }
@media (prefers-reduced-motion: reduce) { .page .btn, .page .tbl tbody tr { transition: none; } }

/* telefonda klavye açıkken: alt menü ve sabit çizim yazılan alanı kapatmasın */
@media (max-width: 960px) {
  body.kb-open:not(.bn-open) .bottom-nav { display: none; }
  body.kb-open .topbar, body.kb-open .hnav { position: static; }
  body.kb-open .kd-fig { position: static; box-shadow: none; }
  body.kb-open .sidebar.open { bottom: 0; }
  body.kb-open main, body.kb-open .page { padding-bottom: 40vh; }
  input, select, textarea { scroll-margin: 90px 0 40vh; }
}

/* alt menü tutamağı (telefon): alt menüyü açıp kapatır */
.bn-toggle { display: none; }
@media (max-width: 800px) {
  .bn-toggle { display: flex; align-items: center; justify-content: center; position: fixed; right: 12px; bottom: calc(58px + env(safe-area-inset-bottom)); z-index: 31; width: 46px; height: 24px; padding: 0; background: #0a0b0c; border: 1px solid #1f2123; border-bottom: 0; border-radius: 12px 12px 0 0; color: var(--accent); cursor: pointer; transition: bottom .2s; }
  .bn-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
  .bn-toggle:not(.up) svg { transform: rotate(180deg); }
  body.bn-hidden:not(.kb-open) .bottom-nav { display: none; }
  body.bn-hidden:not(.kb-open) .bn-toggle, body.kb-open:not(.bn-open) .bn-toggle { bottom: env(safe-area-inset-bottom); }
  body.bn-hidden:not(.kb-open) .sidebar { bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .bn-toggle, .bn-toggle svg { transition: none; } }
#st-tbl td:nth-child(8) { min-width: 130px; white-space: nowrap; }
#st-tbl td:nth-child(9) { min-width: 120px; }
#st-tbl td:nth-child(10) { min-width: 230px; }

/* hammadde tablosu: masaüstünde sayfa genişliğini kullanır, yazı büyür (çok sütunlu veri tablosu) */
main:has(#hammadde.active) { max-width: none; }
#hammadde .tbl { font-size: 14.5px; }
#hammadde .tbl th { font-size: 13px; }
#hammadde #st-tbl td { padding: 10px 12px; line-height: 1.5; }
#hammadde #st-tbl td:nth-child(6) { font-size: 14px; min-width: 300px; }
#hammadde #st-tbl td:nth-child(10) { min-width: 260px; }
#hammadde #st-tbl td:nth-child(7), #hammadde #st-tbl td:nth-child(8) { font-size: 14px; }
#hammadde #st-tbl td:nth-child(2) { white-space: nowrap; }
@media (max-width: 960px) { #hammadde .tbl { font-size: 13.5px; } main:has(#hammadde.active) { max-width: 100%; } }
#hammadde #st-tbl td, #hammadde #st-tbl th { padding: 9px 9px; }
#hammadde #st-tbl td:nth-child(6) { min-width: 250px; font-size: 13.5px; }
#hammadde #st-tbl td:nth-child(10) { min-width: 190px; }
#hammadde #st-tbl td:nth-child(9) { min-width: 100px; }
#hammadde #st-tbl td:nth-child(5) { min-width: 0; }
/* sütunlar sabit oranda: masaüstünde yatay kaydırma gerekmez, dar ekranda kaydırılır */
#hammadde #st-tbl { table-layout: fixed; width: 100%; min-width: 1150px; }
#hammadde #st-tbl td { min-width: 0 !important; overflow-wrap: anywhere; }
#hammadde #st-tbl th:nth-child(1) { width: 9%; } #hammadde #st-tbl th:nth-child(2) { width: 6.5%; } #hammadde #st-tbl th:nth-child(3) { width: 8%; }
#hammadde #st-tbl th:nth-child(4) { width: 7%; } #hammadde #st-tbl th:nth-child(5) { width: 9.5%; } #hammadde #st-tbl th:nth-child(6) { width: 24%; }
#hammadde #st-tbl th:nth-child(7) { width: 7.5%; } #hammadde #st-tbl th:nth-child(8) { width: 8.5%; } #hammadde #st-tbl th:nth-child(9) { width: 8.5%; }
#hammadde #st-tbl th:nth-child(10) { width: 11.5%; }
#hammadde #st-tbl td:nth-child(8) { white-space: normal; }
#hammadde .grid { grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr); max-width: 720px; }

/* sol menü: sayfa içi arama sonuçları (DIN numarası, ürün, hammadde) */
.nav-res { margin: 0 0 10px; padding: 8px; background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); border-radius: 12px; }
.nav-res h6 { margin: 2px 6px 6px; font: 700 11.5px var(--head); letter-spacing: .05em; text-transform: uppercase; color: var(--accent); }
:root[data-theme="light"] .nav-res h6 { color: #3d7a0e; }
.nav-res ul { list-style: none; margin: 0; padding: 0; }
.sidebar .nav-res a { display: flex; flex-direction: column; gap: 1px; padding: 7px 9px; margin: 0; border-radius: 8px; color: var(--text); font-size: 13.5px; line-height: 1.3; }
.sidebar .nav-res a small { color: var(--muted); font-size: 11.5px; }
.sidebar .nav-res a:hover { background: var(--surface-2); padding-left: 9px; }
/* hammadde tablosu: grup etiketi sütuna sığar, alt satıra geçer; komşu sütuna taşmaz */
#hammadde #st-tbl .tag { white-space: normal; max-width: 100%; line-height: 1.3; padding: 3px 8px; font-size: 12.5px; overflow-wrap: break-word; word-break: normal; }
#hammadde #st-tbl td { overflow-wrap: break-word; word-break: normal; }
#hammadde #st-tbl th:nth-child(5) { width: 11%; } #hammadde #st-tbl th:nth-child(6) { width: 23%; } #hammadde #st-tbl th:nth-child(1) { width: 8.5%; }
#hammadde #st-tbl th:nth-child(9) { width: 8%; } #hammadde #st-tbl th:nth-child(10) { width: 11%; }
#hammadde #st-tbl { min-width: 1000px; }
#hammadde #st-tbl td, #hammadde #st-tbl th { padding: 9px 7px; }
#hammadde #st-tbl th:nth-child(1) { width: 8%; } #hammadde #st-tbl th:nth-child(2) { width: 6%; } #hammadde #st-tbl th:nth-child(3) { width: 8%; }
#hammadde #st-tbl th:nth-child(4) { width: 7%; } #hammadde #st-tbl th:nth-child(5) { width: 10%; } #hammadde #st-tbl th:nth-child(6) { width: 22%; }
#hammadde #st-tbl th:nth-child(7) { width: 8%; } #hammadde #st-tbl th:nth-child(8) { width: 11%; } #hammadde #st-tbl th:nth-child(9) { width: 7.5%; }
#hammadde #st-tbl th:nth-child(10) { width: 12.5%; }
#hammadde #st-tbl td:nth-child(6) { font-size: 13px; }
.st-rmn { color: var(--muted); font-size: 11.5px; line-height: 1.3; }
#hammadde #st-tbl .tag { padding: 2px 5px; font-size: 12px; }
#hammadde #st-tbl th { white-space: normal; font-size: 12.5px; }
#hammadde #st-tbl th:nth-child(5) { width: 11%; } #hammadde #st-tbl th:nth-child(6) { width: 21%; } #hammadde #st-tbl th:nth-child(7) { width: 9%; }
#hammadde #st-tbl th:nth-child(9) { width: 8.5%; } #hammadde #st-tbl th:nth-child(10) { width: 11.5%; }
#hammadde #st-tbl th:nth-child(1) { width: 7.5%; } #hammadde #st-tbl th:nth-child(2) { width: 5.5%; } #hammadde #st-tbl th:nth-child(4) { width: 8.5%; }
#hammadde #st-tbl td:nth-child(4) { overflow-wrap: normal; }

/* dil seçici (üst çubuk) */
.lang-sw { position: relative; }
.lang-sw #langBtn { display: inline-flex; align-items: center; gap: 6px; width: auto; padding: 0 10px; }
.lang-sw #langBtn .ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.lang-sw #langBtn b { font: 700 12.5px var(--head); letter-spacing: .04em; }
.lang-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 190px; margin: 0; padding: 6px; list-style: none; background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: 0 12px 32px rgba(0, 0, 0, .35); }
.lang-menu button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; background: none; border: 0; border-radius: 8px; color: var(--text); font: 500 14px var(--sans); cursor: pointer; text-align: left; }
.lang-menu button:hover { background: var(--surface-2); }
.lang-menu button[aria-current="true"] { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
:root[data-theme="light"] .lang-menu button[aria-current="true"] { color: #3d7a0e; }
.lang-menu em { font: 600 11px var(--head); font-style: normal; color: var(--muted); letter-spacing: .05em; }
.ft-legal.ft-warn { border-top: 0; padding-top: 6px; color: #9aa1a8; }
.kp .row { display: flex; flex-wrap: wrap; gap: 14px; }
.kp .row label { flex: 0 1 260px; min-width: 200px; }

/* geometrik tolerans: çizimli anlatım kartları */
.gt-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 16px; margin-top: 14px; }
.gt-card { margin: 0; background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px 16px; }
.gt-card figure { margin: 0 0 8px; background: var(--bg); border: 1px solid var(--line); border-radius: 8px; padding: 6px; }
.gt-card svg { display: block; width: 100%; height: auto; }
.gt-card h4 { display: flex; align-items: center; gap: 10px; margin: 6px 0 8px; font: 700 17px var(--head); }
.gt-card h4 .gt-ic { width: 26px; height: 26px; flex: none; fill: none; stroke: var(--accent); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
:root[data-theme="light"] .gt-card h4 .gt-ic { stroke: #3d7a0e; }
.gt-card dl { margin: 0; display: grid; gap: 2px 0; }
.gt-card dt { margin-top: 8px; font: 700 11.5px var(--head); letter-spacing: .05em; text-transform: uppercase; color: var(--accent); }
:root[data-theme="light"] .gt-card dt { color: #3d7a0e; }
.gt-card dd { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }

/* alt bilgi markası */
.ft-logo { display: inline-flex; align-items: center; gap: 10px; }
.ft-logo .brand-mark { width: 32px; height: 29px; }
.ft-logo .brand-t { font-size: 17px; }
.ft-logo .ft-h { color: var(--accent); }

/* yapım aşamasındaki sayfa uyarısı */
.yapim-bant { display: grid; gap: 6px; margin: 0 0 18px; padding: 20px 22px; background: rgba(255, 170, 40, .13); border: 2px solid #ffb13b; border-left-width: 8px; border-radius: var(--radius); color: var(--text); text-align: left; }
.yapim-bant b { font: 800 clamp(26px, 5vw, 40px)/1.1 var(--head); letter-spacing: .5px; text-transform: uppercase; color: #ffb13b; }
.yapim-bant span { font: 400 16px/1.5 var(--sans); color: var(--text-2); }
:root[data-theme="light"] .yapim-bant { border-color: #d98200; background: rgba(255, 170, 40, .16); }
:root[data-theme="light"] .yapim-bant b { color: #a85d00; }

/* iletişim formu */
.ct-form { display: grid; gap: 12px; max-width: 560px; margin-top: 10px; }
.ct-form label { display: grid; gap: 4px; font-size: 13.5px; color: var(--muted); }
.ct-form input:not(.ct-tuzak), .ct-form select, .ct-form textarea { width: 100%; padding: 9px 11px; background: var(--surface); color: var(--text); border: 1px solid var(--line-2); border-radius: var(--radius); font: 400 15px var(--sans); }
.ct-form textarea { resize: vertical; min-height: 120px; }
.ct-form small { justify-self: end; color: var(--muted); }
.ct-form .ct-onay { display: flex; gap: 10px; align-items: flex-start; line-height: 1.45; }
.ct-form .ct-onay input { width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: var(--accent, #9be564); }
.ct-form .ct-onay a { color: inherit; text-decoration: underline; }
.ct-tuzak { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ct-send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ct-msg { margin: 0; font-size: 14px; }
.ct-msg.ok { color: var(--ok); }
.ct-msg.err { color: var(--bad); }

/* duyuru bandı (yönetim panelinden) */
.duyuru { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 9px 44px 9px 16px; position: relative; background: var(--accent); color: var(--on-accent); font: 600 14px/1.4 var(--sans); text-align: center; }
.duyuru a { color: inherit; text-decoration: underline; font-weight: 700; }
.duyuru-x { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: inherit; font-size: 16px; cursor: pointer; width: 32px; height: 32px; }

/* çizimler sayfası: katalog bağlantısı */
.bz-kt { display: inline-block; margin-left: 6px; padding: 0 6px; border: 1px solid var(--accent); border-radius: 9px; color: var(--accent); font: 600 10.5px var(--sans); font-style: normal; white-space: nowrap; vertical-align: middle; }
.bz-git { margin: 4px 0 12px; }

/* üst çubuk iki temada da koyu: giriş / üye ol düğmesi açık temada da okunur */
.topbar .uye-btn { color: #e6e8ea; border-color: #3a3e42; }
.topbar .uye-btn:hover { color: #8cc63f; border-color: #8cc63f; }

/* üyelik kapalı bilgi kutusu */
.uye-bildir { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 200; max-width: min(92vw, 460px); padding: 12px 16px; background: var(--surface-2); color: var(--text); border: 1px solid var(--accent); border-radius: var(--radius); font: 400 14px/1.45 var(--sans); box-shadow: 0 6px 24px rgba(0, 0, 0, .35); }

.cd-next { margin: 0 0 6px; padding: 6px 10px; border-radius: 8px; background: rgba(154, 208, 74, .14); border: 1px solid #9ad04a; font-size: 13px; font-weight: 600; }
.cd-qbox { position: absolute; z-index: 30; display: flex; flex-direction: column; gap: 6px; padding: 8px 10px; border: 1px solid #9ad04a; border-radius: 8px; background: var(--surface, #1b1b1b); box-shadow: 0 6px 20px rgba(0,0,0,.45); font-size: 12px; max-width: 220px; }
.cd-qbox label { display: flex; flex-direction: column; gap: 2px; }
.cd-qbox input { width: 100%; }
.cd-qbox small { opacity: .7; }

/* ---------- ortak hesap araçları (js/araclar.js): kopyala, yazdır, paylaş, ek birim, son hesaplar, favoriler, sık sorulanlar ---------- */
.arac-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; }
.arac-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 11px; background: transparent; color: var(--text-2); border: 1px solid var(--line); border-radius: var(--radius); font: 600 12.5px var(--sans); cursor: pointer; list-style: none; }
.arac-btn::-webkit-details-marker { display: none; }
.arac-btn .ico { width: 15px; height: 15px; flex: none; }
.arac-btn:hover, .arac-son[open] > summary { border-color: var(--accent); color: var(--accent); }
.arac-fav[aria-pressed="true"] { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
.arac-fav[aria-pressed="true"] .ico { fill: currentColor; }
.arac-birim { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-left: 4px; font-size: 12.5px; color: var(--muted); }
.arac-birim em { font-style: normal; }
.arac-chip { min-height: 30px; padding: 0 10px; background: transparent; color: var(--text-2); border: 1px solid var(--line); border-radius: 99px; font: 600 12px var(--sans); cursor: pointer; }
.arac-chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.arac-chip:hover { border-color: var(--accent); }
.arac-son { position: relative; }
.arac-son ul { position: absolute; z-index: 40; left: 0; top: calc(100% + 4px); width: min(340px, calc(100vw - 32px)); margin: 0; padding: 6px; list-style: none; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--radius); box-shadow: 0 10px 28px rgba(0, 0, 0, .35); }
.arac-son li a { display: flex; flex-direction: column; padding: 8px 10px; border-radius: 3px; color: var(--text); text-decoration: none; font-size: 13.5px; }
.arac-son li a:hover { background: var(--accent-soft); }
.arac-son li small { color: var(--muted); font-size: 12px; }
.arac-alt { margin-left: 6px; font-size: 12.5px; font-family: var(--sans); font-weight: 400; color: var(--muted); white-space: nowrap; }
.arac-alt-in { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: var(--muted); }
.arac-sss { margin: 28px 0 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.arac-sss > summary { padding: 12px 16px; font: 600 14px var(--head); cursor: pointer; }
.arac-sss details { border-top: 1px solid var(--line); }
.arac-sss details summary { padding: 11px 16px; font-size: 14px; cursor: pointer; color: var(--text-2); }
.arac-sss details p { margin: 0; padding: 0 16px 14px; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.nav-fav { margin: 6px 0; padding: 4px 0 6px; border-bottom: 1px solid var(--line); }
.nav-fav-t { display: flex; align-items: center; gap: 8px; padding: 6px 8px; font: 600 12px var(--head); letter-spacing: .5px; text-transform: uppercase; color: var(--muted); }
.nav-fav-t .ico { width: 14px; height: 14px; fill: var(--accent); stroke: var(--accent); }
.nav-fav a { display: block; padding: 6px 8px 6px 30px; border-radius: var(--radius); font-size: 13.5px; color: var(--text-2); text-decoration: none; }
.nav-fav a:hover { background: var(--accent-soft); color: var(--accent); }
@media (max-width: 640px) {
  .arac-bar { gap: 5px; }
  .arac-btn { min-height: 38px; padding: 0 11px; }
  .arac-bar > .arac-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .arac-son > summary span { position: static; width: auto; height: auto; clip-path: none; }
  .arac-bar > .arac-btn .ico { width: 17px; height: 17px; }
  .arac-birim { margin-left: 0; width: 100%; }
}
@media print {
  :root, :root[data-theme="dark"] { --bg: #fff; --surface: #fff; --surface-2: #f2f2f2; --line: #bbb; --line-2: #999; --text: #000; --text-2: #222; --muted: #444; --accent: #3d6b0a; --accent-soft: transparent; --bp-bg: #fff; --bp-grid: #eee; --bp-ink: #333; --stat-bg: #fff; }
  .topbar, #sidebar, .sidebar, .bottom-nav, .footer, .toast, .arac-bar, .arac-sss, .yorum, .top-actions, .page-fig-btn, .hero, .page .btn { display: none !important; }
  html, body { background: #fff !important; color: #000 !important; }
  main { margin: 0 !important; padding: 0 !important; max-width: none !important; }
  .page { display: none !important; }
  .page.active { display: block !important; }
  .page.active::before { content: attr(data-url); display: block; margin: 0 0 8px; font: 12px var(--sans); color: #555; }
  .panel, .stat { background: #fff !important; border-color: #bbb !important; box-shadow: none !important; }
  .stat .v, .stat .k, .page h2, .page h3, .lead { color: #000 !important; }
  .pg-panel { display: block !important; }
  svg.diagram { filter: none; }
}

/* ---------- ortak düzeltme: dar ekranda giriş ızgarası taşmasın ---------- */
.grid > label, .grid > div { min-width: 0; }
.grid select, .grid input:not([type="checkbox"]):not([type="radio"]) { max-width: 100%; }
@media (max-width: 520px) { #hammadde .grid { grid-template-columns: 1fr; } }
.scroll.kay-sag { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 34px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 34px), transparent); }
.scroll.kay-sol { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 34px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 34px), transparent); }
.scroll.kay-sag.kay-sol { -webkit-mask-image: linear-gradient(to right, transparent, #000 34px, #000 calc(100% - 34px), transparent); mask-image: linear-gradient(to right, transparent, #000 34px, #000 calc(100% - 34px), transparent); }

/* Nasıl çalışır: etkileşimli mekanizma sayfaları (js/modules/nasil.js) */
.nc-ctl { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 22px; margin-bottom: 6px; }
.nc-ctl label { display: grid; gap: 6px; font-size: 13.5px; color: var(--text-2); }
.nc-ctl output { float: right; color: var(--accent); font-variant-numeric: tabular-nums; font-weight: 600; }
.nc-ctl input[type="range"] { width: 100%; accent-color: var(--accent); min-height: 28px; }
.nc-stage { margin-top: 14px; background: var(--bg); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.nc-stage canvas { display: block; width: 100%; }
.nc-bar { margin: 12px 0 4px; }
.nc-txt { margin: 14px 0 0; max-width: 68ch; color: var(--text-2); line-height: 1.65; }
.nc-go { margin: 16px 0 0; }
.nc-go .btn { text-decoration: none; display: inline-block; }

/* Nasıl çalışır: çocuk dostu katman (büyük yazı ve dokunma alanı) */
.nc-simple { margin: 0 0 14px; font-size: 18px; line-height: 1.6; color: var(--text); max-width: 60ch; }
.nc-dene { margin: 0 0 18px; padding: 12px 16px; border-left: 4px solid var(--accent); background: var(--accent-soft); font-size: 17px; line-height: 1.5; max-width: 60ch; }
.nc-dene b { color: var(--accent); text-transform: uppercase; letter-spacing: .5px; margin-right: 6px; }
.nc-ctl label { font-size: 16px; color: var(--text); }
.nc-ctl select { min-height: 44px; font-size: 16px; }
.nc-ctl input[type="range"] { min-height: 44px; height: 44px; }
.nc-ctl input[type="range"]::-webkit-slider-thumb { width: 26px; height: 26px; }
.nc-ctl input[type="range"]::-moz-range-thumb { width: 26px; height: 26px; }
.nc-big { margin: 14px 0 0; padding: 14px 18px; border-radius: 6px; font: 600 22px/1.35 var(--head); color: var(--on-accent); background: var(--accent); }
.nc-big[data-tone="warn"] { background: var(--text); color: var(--bg); }
.nc-bar .btn { min-height: 44px; min-width: 120px; font-size: 16px; }
.nc-more { margin-top: 18px; }
.nc-more summary { min-height: 44px; display: flex; align-items: center; font-size: 17px; }
.nc-more h4 { margin: 16px 0 4px; font-size: 16px; color: var(--accent); }
.nc-more .nc-txt { font-size: 16px; margin-top: 4px; }
.nc-go .btn { min-height: 44px; line-height: 28px; font-size: 16px; }
@media (max-width: 520px) { .nc-big { font-size: 19px; } }

/* Nasıl çalışır: galeri ve mekanizma sayfası */
.nsl-detay > .lead { display: none; }
.nsl-ara { width: 100%; min-height: 56px; padding: 0 18px; font-size: 19px; background: var(--surface); color: var(--text); border: 2px solid var(--line-2); border-radius: 6px; }
.nsl-ara:focus { border-color: var(--accent); outline: none; }
.nsl-kat { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.nsl-kb { min-height: 44px; padding: 0 16px; font: 600 15px var(--sans); color: var(--text); background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 22px; cursor: pointer; }
.nsl-kb b { color: var(--accent); margin-left: 4px; font-weight: 600; }
.nsl-kb:hover { border-color: var(--accent); }
.nsl-kb.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.nsl-kb.on b { color: var(--on-accent); }
.nsl-say { margin: 8px 0 14px; color: var(--muted); font-size: 15px; }
.nsl-yok { padding: 24px 0; font-size: 18px; }
.nsl-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.nsl-kart { display: flex; flex-direction: column; gap: 6px; padding: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: var(--text); min-height: 44px; }
.nsl-kart:hover, .nsl-kart:focus-visible { border-color: var(--accent); }
.nsl-kart canvas { display: block; width: 100%; background: var(--bg); border-radius: 4px; }
.nsl-kt { font: 600 17px/1.3 var(--head); }
.nsl-kk { font-size: 13px; color: var(--accent); text-transform: uppercase; letter-spacing: .5px; }
.nsl-ko { font-size: 15px; line-height: 1.45; color: var(--text-2); }
@media (max-width: 600px) { .nsl-izgara { grid-template-columns: 1fr; } }
.nsl-nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 14px; }
.nsl-nav .btn { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; font-size: 16px; }
.nsl-nav span { display: inline-flex; gap: 8px; }
.nc-ozet { margin: 0 0 14px; font-size: 20px; line-height: 1.5; color: var(--text); max-width: 62ch; font-weight: 500; }
.nsl-grid { display: grid; gap: 22px; }
@media (min-width: 960px) { .nsl-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; } }
.nc-anlat { margin: 12px 0 0; min-height: 3.4em; padding: 12px 16px; font: 600 20px/1.35 var(--head); color: var(--text); background: var(--surface-2); border-left: 6px solid var(--accent); border-radius: 4px; }
.nc-stepbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.nc-stepbar[hidden] { display: none; }
.nc-stepbar .btn { min-height: 48px; font-size: 16px; }
.nc-stepbar .sb-n { font-weight: 600; color: var(--accent); min-width: 48px; text-align: center; }
.nc-bar .nc-start { animation: none; box-shadow: 0 0 0 3px var(--accent-soft); }
.nsl-blok { margin: 0 0 18px; padding: 16px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; }
.nsl-blok h3 { margin: 0 0 8px; font-size: 18px; color: var(--accent); }
.nc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: s; }
.nc-steps li { counter-increment: s; }
.nc-steps button { width: 100%; min-height: 48px; display: flex; gap: 12px; align-items: center; text-align: left; padding: 8px 12px; font: 500 16px/1.4 var(--sans); color: var(--text); background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 6px; cursor: pointer; }
.nc-steps button::before { content: counter(s); flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--on-accent); font-weight: 700; }
.nc-steps button.on { border-color: var(--accent); background: var(--accent-soft); }
.nsl-ipucu { margin: 8px 0 0; font-size: 14px; color: var(--muted); }
.nsl-altlar { margin-top: 18px; }
.nsl-alt { margin: 0 0 8px; }
.nsl-alt summary { min-height: 48px; display: flex; align-items: center; font-size: 17px; }
.nsl-l { margin: 4px 0 8px; padding-left: 22px; line-height: 1.6; font-size: 16px; }
.nsl-bak { display: flex; flex-wrap: wrap; gap: 8px; }
.nsl-bak .btn { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; font-size: 16px; }
.nsl-hes { border-color: var(--accent); }
.nsl-blok .nc-txt { font-size: 17px; margin-top: 0; }
@media (max-width: 600px) {
  .nsl-sol { display: flex; flex-direction: column; }
  .nsl-sol .nc-stage { order: 1; } .nsl-sol .nc-anlat { order: 2; } .nsl-sol .nc-dene { order: 3; margin: 12px 0 0; font-size: 16px; }
  .nsl-sol .nc-stepbar { order: 4; } .nsl-sol .nc-bar { order: 5; } .nsl-sol .nc-big { order: 6; } .nsl-sol .nc-ctl { order: 7; margin-top: 12px; }
  .nc-ozet { font-size: 18px; margin-bottom: 10px; } .nsl-nav { margin-bottom: 8px; }
  .nc-anlat { font-size: 18px; }
}
.lz-skg { stroke: var(--accent); stroke-width: 1; stroke-dasharray: 4 4; opacity: .7; pointer-events: none; }
.cd-skprev { width: 100%; max-width: 280px; height: auto; display: block; background: var(--bp-bg, transparent); border: 1px solid var(--line, #8884); border-radius: 6px; }
.cd-skbody { stroke: var(--accent); stroke-width: 1; }
.cd-sks0 { stop-color: var(--accent); stop-opacity: .22; }
.cd-sks1 { stop-color: var(--accent); stop-opacity: .85; }
.cd-skring { stroke: var(--accent); stroke-width: 1; opacity: .5; fill: none; }
.cd-skwarn { color: #e5484d; font-size: 13px; font-weight: 600; margin: 6px 0; }
.cd-skwarn:empty { display: none; }
.cd-sktpl { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 8px 0; }
.cd-sktpl > span { width: 100%; font-size: 12px; color: var(--text-2); }

/* Nasıl çalışır: "Hesap nasıl yapılır?" etkileşimli adım adım hesap */
.nhs { max-width: 760px; }
.nhs-giris { margin: 6px 0 12px; font-size: 16px; color: var(--text-2); }
.nhs-girdi { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px 18px; }
.nhs-g { display: grid; gap: 6px; font-size: 16px; color: var(--text); }
.nhs-g i { font-style: normal; color: var(--muted); }
.nhs-in { display: grid; grid-template-columns: 104px 1fr; gap: 10px; align-items: center; }
.nhs-n, .nhs-g select { min-height: 44px; padding: 0 10px; font: 600 16px var(--sans); color: var(--text); background: var(--surface); border: 1px solid var(--line-2); border-radius: 6px; width: 100%; }
.nhs-r { width: 100%; min-height: 44px; accent-color: var(--accent); }
.nhs h4 { margin: 18px 0 6px; font-size: 16px; color: var(--accent); }
.nhs-adim { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: h; }
.nhs-adim li { padding: 10px 14px; background: var(--surface-2); border: 1px solid var(--line-2); border-left: 4px solid var(--accent); border-radius: 6px; font-size: 16px; line-height: 1.55; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.nhs-sonuc { margin: 14px 0 0; padding: 14px 18px; border-radius: 6px; font: 600 21px/1.35 var(--head); color: var(--on-accent); background: var(--accent); }
.nhs-sonuc[data-tone="sinir"] { background: var(--text); color: var(--bg); border-left: 8px solid var(--accent); }
.nhs-sonuc[data-tone="kotu"] { background: #b3261e; color: #fff; }
.nhs-yak { margin: 10px 0 0; font-size: 15px; color: var(--muted); }
@media (max-width: 520px) { .nhs-sonuc { font-size: 19px; } .nhs-girdi { grid-template-columns: 1fr; } }
.cd-txt { margin-bottom: 8px; }
.cd-txr { display: flex; gap: 6px; }
.cd-txr input { flex: 1; min-width: 0; height: 32px; padding: 0 8px; font: 600 13px var(--mono); border: 1px solid var(--border, #444); border-radius: 4px; background: var(--surface); color: var(--text); }
.cd-txh { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.cd-txh button { padding: 3px 8px; font-size: 12px; border: 1px dashed var(--border, #555); border-radius: 12px; background: transparent; color: var(--text); cursor: pointer; }
.cd-txh button:hover { border-color: var(--accent); color: var(--accent); }
.cd-skdim { position: absolute; z-index: 6; display: flex; gap: 4px; pointer-events: none; }
.cd-skdim[hidden] { display: none; }
.cd-skdim input { pointer-events: auto; width: 84px; height: 28px; padding: 0 6px; font: 600 13px var(--mono); text-align: center; border: 2px solid var(--accent); border-radius: 4px; background: var(--surface); color: var(--text); }
.lz-gd { fill: none; stroke: #4aa3df; stroke-width: 1.2; stroke-dasharray: 8 4 2 4; opacity: .85; pointer-events: none; }
.cd-feats.cd-flash { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; transition: outline-color .3s; }
/* profil çizim araç çubuğu: araç türüne göre renk, seçili araç belirgin, ölçü kutusu görünür */
.cd-sktb [data-skr="step"], .cd-sktb [data-skr="cone"], .cd-sktb [data-skr="ang"] { border-color: #3d8f5a; }
.cd-sktb [data-skr="cham"], .cd-sktb [data-skr="fil"] { border-color: #d98a2b; }
.cd-sktb [data-skr="sph"], .cd-sktb [data-skr="gc"], .cd-sktb [data-skr="gh"], .cd-sktb [data-skr="gv"], .cd-sktb [data-skr="gx"] { border-color: #4aa3df; }
.cd-sktb [data-skr="axis"], .cd-sktb [data-ska="done"] { border-color: var(--accent); }
.cd-sktb [data-skr="cham"], .cd-sktb [data-skr="fil"] { background: color-mix(in srgb, #d98a2b 14%, transparent); }
.cd-sktb [data-skr="step"], .cd-sktb [data-skr="cone"], .cd-sktb [data-skr="ang"] { background: color-mix(in srgb, #3d8f5a 14%, transparent); }
.cd-sktb [data-skr="sph"], .cd-sktb [data-skr="gc"], .cd-sktb [data-skr="gh"], .cd-sktb [data-skr="gv"], .cd-sktb [data-skr="gx"] { background: color-mix(in srgb, #4aa3df 14%, transparent); }
.cd-sktb [data-skr].on { background: var(--accent); color: var(--on-accent, #000); border-color: var(--accent); }
.cd-sktb .cd-skf:not(:empty) { align-items: center; gap: 10px; padding: 10px 12px; margin: 6px 0; border: 2px solid var(--accent); border-radius: 6px; background: var(--accent-soft); }
.cd-sktb .cd-skf .cd-skft { flex: 1 1 100%; color: var(--accent); font-size: 14px; }
.cd-sktb .cd-skf input { font-size: 16px; min-height: 40px; width: 90px; }

/* kademeli mil: sade üst şerit, büyük çizim alanı */
.lz-shell:has(#cd-mat) .lz-spec { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; padding: 8px 12px; }
.lz-shell:has(#cd-mat) .lz-spec > label:has(#cd-mat) { grid-column: 1; grid-row: 1; }
.lz-shell:has(#cd-mat) .lz-spec > label:has(#cd-gen) { grid-column: 2; grid-row: 1; justify-self: end; }
.lz-shell:has(#cd-mat) .lz-spec > .lz-chips { grid-column: 1; grid-row: 2; margin: 0; gap: 4px; }
.lz-shell:has(#cd-mat) .lz-spec > .lz-dl { grid-column: 2; grid-row: 2; justify-self: end; }
.lz-shell:has(#cd-mat) .lz-spec > .lz-dl > span { display: none; }
.lz-shell:has(#cd-mat) .lz-chip { min-height: 30px; padding: 2px 9px; }
.lz-shell:has(#cd-mat) .lz-chip b { font-size: 13px; }
.lz-shell:has(#cd-mat) .lz-chip.hl b { font-size: 14px; }
.lz-shell:has(#cd-mat) .lz-stage { height: max(590px, calc(100vh - 250px)); }
.lz-shell:has(#cd-mat) .lz-left, .lz-shell:has(#cd-mat) .lz-right { height: calc(max(590px, 100vh - 250px) + 86px); }
.lz-shell:has(#cd-mat).lz-fs .lz-spec > label:has(#cd-mat) input.mat-q, .lz-shell:has(#cd-mat).lz-fs .lz-spec .mg-btn { display: none; }
.lz-shell:has(#cd-mat).lz-fs .lz-stage { height: auto; }
.cd-sktb { padding: 4px 6px; gap: 4px 10px; }
.cd-sktb .cd-sktt { font-size: 11.5px; }
.cd-sktb button { padding: 3px 8px; font-size: 12px; }
.cd-sktb .cd-skin { display: none; }
@media (max-width: 900px) { .lz-shell:has(#cd-mat) .lz-spec { grid-template-columns: 1fr; } .lz-shell:has(#cd-mat) .lz-spec > * { grid-column: 1 !important; grid-row: auto !important; justify-self: start !important; } }
/* araç şeridi çizimi kapatmasın: ölçü kutusu tek satır */
.cd-sktb .cd-skf:not(:empty) { padding: 3px 8px; margin: 0; border-width: 1px; gap: 8px; flex-wrap: nowrap; }
.cd-sktb .cd-skf .cd-skft { flex: 0 0 auto; font-size: 12.5px; }
.cd-sktb .cd-skf input { font-size: 13px; min-height: 28px; height: 28px; width: 74px; }
.cd-sktb .cd-skf label { flex-direction: row; align-items: center; gap: 4px; }
.cd-sktb .cd-skmore > summary { font-size: 12px; padding: 2px 4px; }
.cd-sktb { max-width: calc(100% - 16px); width: max-content; }
/* profil çizimi: araç şeritleri tuvalin üstüne binmez, üstte kendi satırında durur */
.lz-stage:has(> #cd-psvg:not([hidden])) { display: flex; flex-direction: column; }
.lz-stage:has(> #cd-psvg:not([hidden])) > .cd-sktb { position: static; order: 0; width: auto; max-width: none; margin: 0; border-width: 0 0 1px; border-radius: 0; box-shadow: none; }
.lz-stage:has(> #cd-psvg:not([hidden])) > #cd-psvg { order: 1; flex: 1 1 0; min-height: 0; height: auto; }
/* telefon: sabit yükseklikler ve monitör ekranı düğmesi karışıklık yapmasın */
@media (max-width: 760px) {
  .lz-shell:has(#cd-mat) .lz-stage { height: 62vh; min-height: 360px; }
  .lz-shell:has(#cd-mat) .lz-left, .lz-shell:has(#cd-mat) .lz-right { height: auto; }
  .lz-shell.lz-fs .lz-app { display: block; height: auto; }
  .lz-shell.lz-fs .lz-work { grid-template-rows: none; }
  .lz-shell.lz-fs .lz-stage, .lz-shell:has(#cd-mat).lz-fs .lz-stage { height: 70vh; flex: none; }
  .lz-shell.lz-fs .lz-left, .lz-shell.lz-fs .lz-right { max-height: none; }
  .lz-fsbar [data-fsm] { display: none; }
}

/* ana sayfa: sade konu kartları (ilk 5 hesap, kalanı açılır), açılır "Kimler için uygun" */
.cat li small { display: none; }
.cat.acik li small { display: block; }
.cat:not(.acik) li.fazla { display: none; }
.cat-more { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 4px 0 8px; padding: 9px 4px; background: none; border: 0; border-top: 1px solid var(--line); color: var(--accent); font: 600 13.5px var(--head); cursor: pointer; }
.cat-more em { font-style: normal; font-weight: 600; font-size: 12px; color: var(--muted); background: var(--surface-2); border-radius: 99px; padding: 2px 9px; }
.cat-more:hover span { text-decoration: underline; }
.cat-grid { margin-bottom: 48px; }
.cat { padding: 16px 18px 4px; }
.who summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.who summary::-webkit-details-marker { display: none; }
.who summary h2 { margin: 0; }
.who summary::after { content: "+"; font: 400 26px/1 var(--head); color: var(--accent); }
.who details[open] summary::after { content: "−"; }
.who details[open] summary { margin-bottom: 14px; }
.cad-band { margin-bottom: 40px; }
.cd-phint { display: none; margin: 0; }
.lz-stage:has(> #cd-psvg:not([hidden])) > .cd-phint { display: block; order: 2; padding: 6px 12px; border-top: 1px solid var(--line); background: var(--surface); color: var(--text-2); font-size: 12.5px; line-height: 1.4; }

/* 3D: kesit ve şeffaflık paneli */
.cd-vtools { display: inline-flex; margin-left: 8px; }
.cd-vtools[hidden] { display: none; }
.cd-vdet { position: relative; }
.cd-vdet > summary { list-style: none; cursor: pointer; }
.cd-vdet > summary::-webkit-details-marker { display: none; }
.cd-vdet[open] > summary { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.cd-vpan { position: absolute; top: calc(100% + 6px); left: 0; z-index: 12; width: 290px; display: flex; flex-direction: column; gap: 10px; padding: 12px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
.cd-vrow { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12.5px; }
.cd-vrow > b { min-width: 52px; font-weight: 600; }
.cd-vrow input[type=range] { flex: 1; min-width: 0; height: auto; padding: 0; accent-color: var(--accent); }
.cd-vrow output { min-width: 62px; text-align: right; font: 600 12px var(--mono); color: var(--text-2); }
.cd-vrow .lz-seg { flex: 1; }
label.cd-vrow { flex-direction: row; flex-wrap: wrap; }
label.cd-vrow input[type=range] { flex: 1 1 120px; }

.cd-dimx{fill:#e5645a;cursor:pointer;font-weight:700;stroke:none}.cd-dimx:hover{fill:#ff8a80}

.cd-vx { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; display: grid; place-items: center; padding: 0; background: none; border: 0; border-radius: 4px; color: var(--muted); font-size: 15px; cursor: pointer; }
.cd-vx:hover { color: #fff; background: #e5645a; }

.cd-qbox { padding-right: 30px; }
.cd-qbox .cd-popx { top: 4px; right: 4px; width: 24px; height: 24px; }
/* Pah seçilince Açı kutusu çıkınca düğmeler kendi içinde dağılıyordu: düğmeler çubuğun satırına katılır, taşan alt satıra geçer */
.lz-tools > .cd-etools:not([hidden]) { display: contents; }
.lz-tools > .cd-etools > .lz-tool:first-child { margin-left: 8px; }
.cd-etin { white-space: nowrap; }
.cd-etpair { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.cd-etpair:has(> label[hidden]:only-child) { display: none; }
.cd-extgap .lz-hint { margin: 8px 0 6px; }
.cd-extcor { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 8px; }
.cd-extcor .btn { white-space: normal; padding: 6px 4px; font-size: 11.5px; }

/* ana sayfa: CAD bandı, başlığın altında tam genişlikte örnek dosya listesi */
.cad-band { grid-template-columns: minmax(0, 1fr); }
.cad-band-head p { max-width: 620px; }
.cad-shot { margin: 0; }
.cad-shot img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--line); }
.cad-shot figcaption { margin-top: 10px; font-size: 13.5px; color: var(--muted); }
.cad-more { margin-top: 4px; }
.cad-more summary { cursor: pointer; list-style: none; padding: 12px 0; font: 600 16px var(--head); color: var(--text); }
.cad-more summary::-webkit-details-marker { display: none; }
.cad-more summary::after { content: "+"; margin-left: 10px; font: 400 20px var(--sans); color: var(--accent); }
.cad-more[open] summary::after { content: "−"; }
.cad-shot + .cad-shot { margin-top: 24px; }

/* ana sayfa: kodla yazılmış dosya listesi örneği (uygulamadaki listenin sadeleştirilmiş hâli, çevrilebilir) */
.cad-demo { margin: 0; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.cd-sum { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.cd-chip { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 10px 14px; border-left: 3px solid var(--cc); border-radius: 8px; background: color-mix(in srgb, var(--cc) 10%, var(--surface-2)); }
.cd-chip i { font-style: normal; font-size: 12.5px; color: var(--muted); }
.cd-chip b { font: 600 15px var(--head); color: var(--cc); white-space: nowrap; }
.cd-chip.c1 { --cc: #5aa9ff; } .cd-chip.c2 { --cc: var(--accent); } .cd-chip.c3 { --cc: #f0b429; } .cd-chip.c4 { --cc: #4fd18b; }
.cd-scroll { overflow-x: auto; border-radius: 8px; }
.cd-tbl { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.cd-tbl th { padding: 10px 12px; text-align: right; font: 600 12.5px var(--head); color: var(--muted); border-bottom: 2px solid var(--accent); white-space: nowrap; }
.cd-tbl td { padding: 13px 12px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.cd-tbl .l { text-align: left; }
.cd-tbl tbody tr { --rc: var(--accent); background: color-mix(in srgb, var(--rc) 9%, transparent); box-shadow: inset 3px 0 0 var(--rc); }
.cd-tbl tr.r1 { --rc: #ff8a73; } .cd-tbl tr.r2 { --rc: #5aa9ff; } .cd-tbl tr.r3 { --rc: #8cc63f; } .cd-tbl tr.r4 { --rc: #f0b429; }
.cd-n { display: inline-flex; align-items: center; gap: 10px; font: 600 14px var(--head); color: var(--rc); }
.cd-n span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--rc); color: #1a1a1a; font-size: 12px; }
.cd-tbl td.p { color: #5aa9ff; font-weight: 600; }
.cd-tbl td.t { color: #4fd18b; font-weight: 600; }
.cd-tbl tfoot td { padding-top: 14px; border-bottom: 0; font-weight: 600; background: var(--surface-2); }
.cd-det { display: grid; grid-template-columns: 1.1fr .8fr 1.1fr; gap: 14px; margin-top: 16px; }
.cd-card { padding: 16px 18px; background: var(--surface-2); border: 1px solid var(--line); border-top: 3px solid #ff8a73; border-radius: 10px; }
.cd-card h3 { margin: 0 0 12px; font: 600 15px var(--head); color: #ff8a73; }
.cd-card h3 small { font: 400 12px var(--sans); color: var(--muted); margin-left: 6px; }
.cd-card dl { margin: 0; }
.cd-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 14px; }
.cd-card dt { color: var(--text-2); }
.cd-card dd { margin: 0; text-align: right; font-weight: 600; }
.cd-cost > div.b { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 9px; }
.cd-cost > div.b dd { color: #ff8a73; }
.cd-shape svg { display: block; width: 100%; height: auto; max-height: 190px; }
.cd-shape circle, .cd-shape rect { fill: none; stroke: #ff8a73; stroke-width: 2; }
.cd-shape .in { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 4 3; }
.cd-shape text { fill: var(--text-2); font: 12px var(--sans); }
.cad-demo figcaption { margin-top: 12px; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) { .cd-sum { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cd-det { grid-template-columns: minmax(0, 1fr); } }
.ft-partner { max-width: 1200px; margin: 14px auto 0; padding-top: 14px; border-top: 1px solid #1f2123; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; font-size: 13.5px; color: #9aa1a8; }
.ft-partner a { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; color: #e6e8ea; }
.ft-partner a b { font: 600 14px var(--head); }
.ft-partner a em { font: 400 13px var(--sans); font-style: normal; color: #7d838a; }
.ft-partner a:hover b { color: var(--accent); }
.cd-shapes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.cd-shapes li { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: 12.5px; }
.cd-shapes li.on { border-color: #ff8a73; color: var(--text); background: color-mix(in srgb, #ff8a73 10%, transparent); }
.cd-shapes svg { width: 44px; height: 44px; }
.cd-shapes svg * { fill: none; stroke: currentColor; stroke-width: 2; }
.cd-shapes li.on svg * { stroke: #ff8a73; }
.cd-shapes svg .in { stroke-width: 1; stroke-dasharray: 4 3; opacity: .7; }
.cd-shnote { margin: 10px 0 0; text-align: center; font-size: 13px; color: var(--text-2); }
.ft-bc { display: inline-flex; align-items: flex-start; gap: 9px; line-height: 1.35; margin-top: 14px; text-decoration: none; color: #e6e8ea; font: 600 14px var(--head); }
.ft-bc:hover span { color: var(--accent); }
.cd-draw { display: block; width: 100%; height: auto; max-height: 120px; margin: 0 0 12px; }
.cd-draw circle, .cd-draw rect { fill: none; stroke: #ff8a73; stroke-width: 2; }
.cd-draw .in { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 4 3; }
.cd-draw text { fill: var(--text-2); font: 12px var(--sans); }

/* örnek dosya listesi: gerçek ekrandaki yapı (araç çubuğu, onay kutuları, kart dizileri) */
.cd-note { margin: 0 0 14px; padding: 10px 14px; font-size: 13.5px; line-height: 1.5; color: var(--text-2); background: color-mix(in srgb, var(--accent) 8%, var(--surface-2)); border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line)); border-radius: 8px; }
.cd-note b { color: var(--accent); }
.cd-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.cd-sp { flex: 1 1 20px; }
.cd-tab, .cd-b { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 6px; background: var(--surface-2); font: 600 13px var(--sans); color: var(--text); white-space: nowrap; }
.cd-tab.on, .cd-b.pr { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.cd-tbl th.ck, .cd-tbl td.ck { width: 34px; padding-right: 0; text-align: center; }
.cd-tbl td.no { width: 38px; padding: 0; text-align: center; }
.cd-tbl td.no span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--rc); color: #1a1a1a; font: 700 12px var(--head); }
.cd-n { font: 600 14px var(--head); color: var(--rc); }
.cd-cb { display: inline-block; width: 16px; height: 16px; border: 1.5px solid var(--accent); border-radius: 4px; background: var(--accent); position: relative; vertical-align: middle; }
.cd-cb::after { content: ""; position: absolute; left: 4px; top: 0; width: 5px; height: 9px; border: solid var(--on-accent); border-width: 0 2px 2px 0; transform: rotate(40deg); }
.cd-qty { display: inline-block; min-width: 64px; padding: 6px 10px; font-style: normal; text-align: right; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; }
.cd-det { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; margin-top: 16px; }
.cd-stack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.cd-f { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; min-width: 0; }
.cd-f span { font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.cd-f i { display: block; padding: 8px 10px; font-style: normal; font-size: 14px; text-align: right; background: var(--bg); border: 1px solid var(--line-2); border-radius: 6px; font-variant-numeric: tabular-nums; }
.cd-f.w i { text-align: left; }
.cd-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cd-hint { margin: 2px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--muted); }
.cd-chk { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 13px; color: var(--text-2); }
.cd-mini { width: 100%; margin-top: 12px; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.cd-mini th { padding: 6px 4px; text-align: left; font: 600 12px var(--head); color: var(--muted); border-bottom: 1px solid var(--accent); }
.cd-mini th small { font-weight: 400; }
.cd-mini td { padding: 7px 4px; border-bottom: 1px solid var(--line); }
@media (max-width: 1100px) { .cd-det { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cd-det { grid-template-columns: minmax(0, 1fr); } .cd-bar { gap: 6px; } }

/* ana sayfa: hero altında konu kısayolları */
.home-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 40px; }
.home-quick a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 16px 6px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text); text-decoration: none; font: 600 14px var(--head); }
.home-quick a:hover { border-color: var(--accent); color: var(--accent); }
.home-quick .cat-icon { width: 30px; height: 30px; border-radius: 50%; }
.home-quick .cat-icon .ico { width: 16px; height: 16px; }

/* parça ağırlığı ve saplama hesaplama: saplama kartı ve sonucu önde, telefonda girişler kompakt */
.kd-main { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); background: color-mix(in srgb, var(--accent) 5%, var(--surface)); }
.kd-main h3 { font-size: 18px; }
#k-blank .stat, #k-blank .big { font-size: 1.05em; }
@media (max-width: 960px) {
  #k-blank { order: -1; }
}
@media (max-width: 640px) {
  .kd-card { padding: 12px 14px; }
  .kd-card h3 { margin-bottom: 8px; font-size: 16px; }
  .kd-main h3 { font-size: 17px; }
  #kademeli .grid { gap: 10px; }
  #kademeli label { gap: 5px; font-size: 13px; }
  #kademeli input, #kademeli select { height: 42px; font-size: 16px; padding: 0 10px; }
  #kademeli .kd-card .grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #kademeli select#k-mat { grid-column: 1 / -1; }
}

/* saplama boyu ve ölçüler alt alta; telefonda malzeme kartı küçük */
.kd-right .result { grid-template-columns: minmax(0, 1fr); }
.kd-right .result:not(:empty) { margin: 0; }
@media (max-width: 640px) {
  #kademeli .kd-card:has(#k-mat) { padding: 10px 12px; }
  #kademeli .kd-card:has(#k-mat) h3 { margin-bottom: 6px; font-size: 14px; }
  #kademeli .kd-card:has(#k-mat) .grid { gap: 8px; }
  #kademeli .kd-card:has(#k-mat) input, #kademeli .kd-card:has(#k-mat) select { height: 38px; font-size: 15px; }
}

/* bilgisayarda hammadde en üstte tek satır: malzeme kartı iki sütunun üstüne yayılır */
@media (min-width: 961px) {
  .kd-left { display: contents; }
  .kd-card { grid-column: 1; }
  .kd-right { grid-column: 2; grid-row: 2 / span 3; }
  #kademeli .kd-card:has(#k-mat) { grid-column: 1 / -1; grid-row: 1; padding: 10px 16px; }
  #kademeli .kd-card:has(#k-mat) h3, #kademeli .kd-card:has(#k-mat) .mat-n { display: none; }
  #kademeli .kd-card:has(#k-mat) .grid { display: flex; align-items: center; gap: 18px; }
  #kademeli .kd-card:has(#k-mat) .grid > label { flex-direction: row; align-items: center; gap: 8px; white-space: nowrap; margin: 0; }
  #kademeli .kd-card:has(#k-mat) .grid > label:first-child { flex: 1 1 auto; min-width: 0; }
  #kademeli .kd-card:has(#k-mat) .mat-q { flex: 1 1 180px; min-width: 120px; }
  #kademeli .kd-card:has(#k-mat) #k-mat { flex: 1.5 1 240px; min-width: 0; }
  #kademeli .kd-card:has(#k-mat) .mg-btn { flex: none; width: auto; }
  #kademeli .kd-card:has(#k-mat) #k-rho { width: 96px; }
}

/* telefonda sıra: çizim, saplama girişi, kademeler (ölçüler), hemen altında saplama boyu ve gram, sonra malzeme, delik en sonda */
@media (max-width: 960px) {
  .kd-left { display: contents; }
  .kd-fig { order: -2; }
  .kd-main { order: 0; }
  #kademeli .kd-card:has(#k-tbl) { order: 1; }
  #k-blank { order: 2; }
  #k-out { order: 3; }
  #kademeli .kd-card:has(#k-mat) { order: 4; }
  #kademeli .kd-card:has(#k-hd) { order: 5; }
}

/* parça ağırlığı ve saplama hesaplama: Apple düzen ilkeleri (büyük sonuç, yuvarlak düz kartlar, sıkı başlık; renkler değişmez) */
#kademeli > h2 { font-size: clamp(30px, 4.6vw, 50px); line-height: 1.06; letter-spacing: -.03em; }
#kademeli > .intro, #kademeli > h2 + p { font-size: clamp(17px, 1.8vw, 20px); line-height: 1.45; letter-spacing: -.01em; max-width: 640px; }
#kademeli .kd-wrap { gap: 22px; }
#kademeli .kd-card, #kademeli .kd-fig { border-radius: 18px; padding: 22px 24px; box-shadow: none; }
#kademeli .kd-card h3 { margin-bottom: 14px; font-size: 20px; letter-spacing: -.02em; }
#kademeli .kd-card h3 small { font-size: 13px; letter-spacing: 0; }
#kademeli input, #kademeli select { border-radius: 12px; }
#kademeli .kd-tbl input { border-radius: 10px; }
#kademeli .kd-right .result:not(:empty) { margin: 0; }
#kademeli #k-blank .stat { padding: 22px 24px; border-radius: 18px; cursor: default; }
#kademeli #k-blank .stat .k { font-size: 14px; letter-spacing: -.01em; }
#kademeli #k-blank .stat.hl .v { font-size: clamp(36px, 7vw, 52px); font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
#kademeli #k-out { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#kademeli #k-out .stat { padding: 14px 18px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); }
#kademeli #k-out .stat .v { font-size: 20px; }
@media (max-width: 960px) {
  #kademeli .kd-card, #kademeli .kd-fig { padding: 16px 16px; border-radius: 16px; }
  #kademeli #k-blank, #kademeli #k-out { width: 100%; align-self: stretch; }
  #kademeli .kd-card h3 { font-size: 18px; margin-bottom: 10px; }
}
@media (max-width: 640px) {
  /* malzeme: tek sütun, uzun seçim kutusu tam genişlikte, başlık tekrarı yok */
  #kademeli .kd-card:has(#k-mat) h3 { display: none; }
  #kademeli .kd-card:has(#k-mat) .grid { grid-template-columns: minmax(0, 1fr) 112px; align-items: end; }
  #kademeli .kd-card:has(#k-mat) .grid > label:first-child { grid-column: 1 / -1; }
  #kademeli .kd-card:has(#k-mat) .mg-btn { width: 100%; margin: 0; }
  #kademeli .kd-card:has(#k-mat) #k-mat { width: 100%; }
}
/* saplama boyu sonucu: bir kademe küçük */
#kademeli #k-blank .stat { padding: 16px 20px; }
#kademeli #k-blank .stat .k { font-size: 13px; }
#kademeli #k-blank .stat.hl .v { font-size: clamp(28px, 5.2vw, 38px); }
/* yeşil vurgu yalnız saplama boyu sonucunda: saplama girişi kartı ve toplam ağırlık kartı diğerleri gibi sade */
#kademeli .kd-main { border-color: var(--line); background: var(--surface); }
#kademeli #k-out .stat.hl { border: 1px solid var(--line); background: var(--surface); }
#kademeli #k-out .stat.hl .v { color: var(--text); font-size: 20px; font-weight: 500; }

/* sertlik dönüşümü ve hammadde karşılıkları: aynı düzen dili (büyük başlık, yuvarlak düz kartlar); telefonda kompakt (renkler değişmez) */
#sertlik > h2, #hammadde > h2 { font-size: clamp(30px, 4.6vw, 50px); line-height: 1.06; letter-spacing: -.03em; }
#sertlik .panel, #hammadde .panel { border-radius: 18px; box-shadow: none; }
#sertlik input, #sertlik select, #hammadde input, #hammadde select { border-radius: 12px; }
#sertlik .result .stat { border-radius: 16px; padding: 14px 18px; cursor: default; }
#sertlik .result .stat .v { font-size: 20px; letter-spacing: -.01em; }
#sertlik .result .stat.hl .v { font-size: clamp(26px, 5vw, 34px); letter-spacing: -.02em; }
#hammadde .tbl th, #hammadde .tbl td { padding-top: 12px; padding-bottom: 12px; }
@media (max-width: 640px) {
  #sertlik .panel, #hammadde .panel { padding: 14px; border-radius: 16px; }
  #sertlik .result { grid-template-columns: 1fr 1fr; gap: 10px; }
  #sertlik .result .stat { padding: 12px 14px; }
  #sertlik .result .stat.hl { grid-column: 1 / -1; }
  #sertlik .grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  #hammadde .grid { grid-template-columns: 1fr; gap: 10px; }
  /* geniş tabloda ilk sütun (kalite adı) kaydırırken sabit kalır */
  #hammadde .scroll .tbl th:first-child, #hammadde .scroll .tbl td:first-child { position: sticky; left: 0; z-index: 2; background: var(--surface); box-shadow: 1px 0 0 var(--line); }
  #hammadde .scroll .tbl th:first-child { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); }
}
@media (max-width: 640px) {
  #sertlik .pg-in { border: 0; background: transparent; padding: 0; }
  #sertlik .pg-in .grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  #sertlik .result .stat.hl { order: -1; }
}

/* tüm hesap sayfaları (3D sayfalar ve ana sayfa hariç): ortak düzen dili. Renkler ve yazı tipleri değişmez */
.page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) > h2 { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.08; letter-spacing: -.025em; }
.page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .panel { border-radius: 18px; box-shadow: none; }
.page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) :is(input, select) { border-radius: 12px; }
.page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .result .stat { border-radius: 14px; cursor: default; }
@media (max-width: 640px) {
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .panel { padding: 14px; border-radius: 16px; }
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .result { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .result .stat { padding: 11px 13px; }
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .result .stat .v { font-size: 17px; }
}

/* malzeme çubuğu: malzeme ve yoğunluk sayfanın en üstünde tek satır (bilgisayarda), telefonda iki satırlık kompakt kutu */
.mat-bar { display: flex; align-items: center; gap: 18px; margin: 0 0 16px; padding: 10px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.mat-bar > label { flex-direction: row; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
.mat-bar > label:first-child { flex: 1 1 auto; min-width: 0; }
.mat-bar .mat-q { flex: 1 1 160px; min-width: 110px; }
.mat-bar select { flex: 1.5 1 220px; min-width: 0; }
.mat-bar .mg-btn { flex: none; width: auto; }
.mat-bar .mat-n { display: none; }
.mat-bar input[id$="-rho"] { width: 96px; }
@media (max-width: 960px) {
  .mat-bar { display: grid; grid-template-columns: minmax(0, 1fr) 112px; align-items: end; gap: 10px; padding: 12px; border-radius: 16px; }
  .mat-bar > label { flex-direction: column; align-items: stretch; gap: 5px; white-space: normal; font-size: 13px; }
  .mat-bar > label:first-child { grid-column: 1 / -1; }
  .mat-bar .mg-btn { width: 100%; }
  .mat-bar input[id$="-rho"] { width: 100%; }
}
@media (max-width: 960px) {
  /* sütunlu dizilimde esneklik yüksekliği şişirmesin */
  .mat-bar .mat-q, .mat-bar select { flex: none; width: 100%; min-width: 0; height: 42px; }
  .mat-bar .mg-btn { flex: none; height: 38px; }
}
@media (max-width: 640px) {
  /* iki sütunlu sayfalarda dış panel çerçevesi kalkar; iç kart tek çerçeve olur (çift çerçeve yok) */
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .pg-panel.panel { padding: 0; border: 0; background: none; }
  .page:not(:where(#home, #cadgor, #mil3d, #lazer, #disli3d)) .pg-panel > .pg-in { border-radius: 16px; padding: 14px; }
}

/* CAD aç ve ölç, yalnız telefon: çizim önde, ölçüm kipleri ve sonuç altta sabit çekmecede (aşağı kaydırmadan Çap / Mesafe seçilir) */
@media (max-width: 640px) {
  #vw-shell.lz-fs { padding: 0 8px 0; }
  #vw-shell.lz-fs .lz-fsbar > span { display: none; }
  #vw-shell .lz-fsbar .btn { white-space: nowrap; padding: 6px 12px; font-size: 13px; }
  /* sıra: çizim, altta sabit çekmece (kip düğmeleri + sonuç), en sonda katmanlar ve parça listesi */
  #vw-app .lz-work { display: flex; flex-direction: column; height: auto; }
  #vw-app .lz-center { order: 1; }
  #vw-app .lz-right { order: 2; position: sticky; bottom: 58px; z-index: 8; max-height: 38vh; overflow-y: auto; padding: 8px 12px 10px; background: var(--bg); border-top: 1px solid var(--line-2); box-shadow: 0 -10px 20px rgba(0, 0, 0, .45); }
  #vw-shell.lz-fs #vw-app .lz-right { bottom: 0; }
  #vw-app .lz-left { order: 3; }
  #vw-app .lz-right h4 { margin: 0 0 6px; font-size: 14px; }
  #vw-app .vw-mm { flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding-bottom: 4px; }
  #vw-app .vw-mm > button { flex: none; min-height: 42px; padding: 0 14px; }
  #vw-app .lz-right .lz-hint { display: none; }
  #vw-app .lz-tools button { min-height: 40px; }
  #vw-app .lz-stage { height: 52vh; min-height: 300px; }
  #vw-shell.lz-fs #vw-app .lz-stage { height: 56vh; }
}
@media (max-width: 640px) {
  /* CAD aç ve ölç (telefon): uzun açıklama 3 satır, ayar satırı hizalı */
  #cadgor > p.lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* cıvata ve somun mukavemet sınıfları: sınıf seçici, ayrıntı kartı, aralık çubukları */
.sn-sec { padding: 24px 28px; }
.sn-seg { display: inline-flex; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; }
.sn-seg button { min-height: 44px; padding: 8px 22px; background: transparent; color: var(--text-2); border: 0; font: 600 15px/1 inherit; font-family: inherit; cursor: pointer; }
.sn-seg button + button { border-left: 1px solid var(--line-2); }
.sn-seg button.on { background: var(--accent-soft); color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); }
.sn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.sn-chip { min-width: 64px; min-height: 44px; padding: 8px 14px; background: var(--stat-bg); color: var(--text-2); border: 1px solid var(--line); border-radius: 6px; font: 600 16px/1 var(--mono); font-variant-numeric: tabular-nums; cursor: pointer; }
.sn-chip:hover { border-color: var(--line-2); color: var(--text); }
.sn-chip.on { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
.sn-head { display: flex; align-items: baseline; gap: 14px; margin: 0 0 14px; }
.sn-big { font: 700 44px/1 var(--mono); letter-spacing: -1px; color: var(--accent); font-variant-numeric: tabular-nums; }
#sn-card .result:not(:empty) { margin: 0 0 18px; }
.sn-rgs { margin: 0 0 18px; padding: 10px 14px; background: var(--stat-bg); border-radius: 6px; }
.sn-rg { display: grid; grid-template-columns: 130px 1fr 130px; align-items: center; gap: 14px; padding: 7px 0; }
.sn-rg .sl { color: var(--text-2); font-size: 14px; white-space: nowrap; }
.sn-rg .sv { color: var(--text); font: 500 14px/1.2 var(--mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.sn-rg .tr { position: relative; height: 10px; background: var(--line); border-radius: 5px; }
.sn-rg .tr i { position: absolute; top: 0; bottom: 0; background: var(--accent); border-radius: 5px; }
.sn-rg.dim .tr i { background: var(--line-2); }
.sn-rg.dim .sv, .sn-rg.dim .sl { color: var(--muted); }
.sn-rg.hit .sl, .sn-rg.hit .sv { color: var(--accent); font-weight: 600; }
.sn-rg .mk { position: absolute; top: -5px; bottom: -5px; width: 2px; margin-left: -1px; background: var(--text); border-radius: 1px; }
.sn-dl { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 0; margin: 0 0 14px; border-top: 1px solid var(--line); }
.sn-dl dt, .sn-dl dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; line-height: 1.5; }
.sn-dl dt { color: var(--muted); padding-right: 16px; }
.sn-dl dd { color: var(--text); }
.sn-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin-bottom: 18px; max-width: 760px; }
.sn-map { margin: 6px 0 4px; padding: 10px 14px; background: var(--stat-bg); border-radius: 6px; }
.sn-sec .result:not(:empty) { margin: 20px 0 0; }
.sn-tabs { padding-top: 8px; padding-bottom: 8px; }
.sn-det { border-bottom: 1px solid var(--line); }
.sn-det:last-child { border-bottom: 0; }
.sn-det > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 12px 0; cursor: pointer; list-style: none; font-weight: 600; color: var(--text); }
.sn-det > summary::-webkit-details-marker { display: none; }
.sn-det > summary::after { content: "+"; color: var(--accent); font-size: 22px; font-weight: 400; }
.sn-det[open] > summary::after { content: "−"; }
.sn-det > .note { margin-top: 0; }
@media (max-width: 640px) {
  .sn-sec { padding: 18px 16px; }
  .sn-big { font-size: 36px; }
  .sn-rg { grid-template-columns: 78px 1fr 86px; gap: 8px; }
  .sn-rg .sl, .sn-rg .sv { font-size: 13px; }
  .sn-dl { grid-template-columns: 1fr; }
  .sn-dl dt { padding: 10px 0 0; border-bottom: 0; }
  .sn-dl dd { padding-top: 2px; }
  .sn-chip { min-width: 56px; padding: 8px 10px; }
}

/* satır tabloları telefonda kart: her satır bir kart, hücre başlığı alanın üstünde */
@media (max-width: 640px) {
  .tbl.stack, .tbl.stack tbody { display: block; }
  .tbl.stack thead { display: none; }
  .tbl.stack tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; padding: 14px 4px; border-top: 1px solid var(--line); }
  .tbl.stack tbody tr:first-child { border-top: 0; }
  .tbl.stack td { display: flex; flex-direction: column; justify-content: flex-end; position: static !important; min-width: 0; padding: 0; border: 0; background: transparent !important; white-space: normal; }
  .tbl.stack td::before { content: attr(data-l); display: block; margin-bottom: 4px; color: var(--muted); font: 500 12.5px/1.3 inherit; font-family: inherit; }
  .tbl.stack td:first-child, .tbl.stack td:last-child { grid-column: 1 / -1; }
  .tbl.stack td:first-child::before, .tbl.stack td:last-child::before { display: none; }
  .tbl.stack td:first-child { color: var(--accent); font-weight: 700; }
  .tbl.stack td:last-child { flex-direction: row; justify-content: flex-end; }
  .tbl.stack td input, .tbl.stack td select { width: 100%; min-height: 44px; }
}

/* çok sütunlu grafik (IT1–IT18 gibi): yatay kaydırmadan kutuya sığar, değer etiketleri birer atlar */
.cols.dense { gap: 3px; padding: 12px 8px; overflow-x: hidden; }
.cols.dense .col { flex: 1 1 0; min-width: 0; }
.cols.dense .col .cv { font-size: 10px; }
.cols.dense .col:nth-child(even):not(.hl) .cv, .cols.dense .col:nth-child(even):not(.hl) .cl { visibility: hidden; }
.cols.dense .col .cl { font-size: 10px; white-space: nowrap; }

/* dokunmatik ekran: düğmeler 44 px, küçük yazılar 12 px (CAD ve 3D araç sayfalarının kendi düzeni korunur) */
@media (max-width: 640px) {
  section.page:not(#mil3d):not(#lazer):not(#cadgor):not(#disli3d) .btn,
  section.page:not(#mil3d):not(#lazer):not(#cadgor):not(#disli3d) .tbl.stack td:last-child button { min-height: 44px; min-width: 44px; }
}
section.page small { font-size: 12px; }
.cols.dense .col .cv, .cols.dense .col .cl, .col .cv, .col .cl { font-size: 11px; }

/* nasıl çalışır: kategori düğmeleri telefonda tek satır kayar, "daha fazla göster" */
.nsl-daha { display: flex; justify-content: center; margin: 22px 0 6px; }
@media (max-width: 600px) {
  .nsl-kat { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .nsl-kat .nsl-kb { flex: 0 0 auto; white-space: nowrap; }
}

/* katlanır anlatım bölümleri (geometrik toleranslar gibi uzun sayfalar) */
.panel.pn-acc { padding: 0 28px; }
.panel.pn-acc > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 14px 0; cursor: pointer; list-style: none; }
.panel.pn-acc > summary::-webkit-details-marker { display: none; }
.panel.pn-acc > summary::after { content: "+"; flex: none; color: var(--accent); font-size: 24px; font-weight: 400; line-height: 1; }
.panel.pn-acc[open] > summary::after { content: "−"; }
.panel.pn-acc > summary h3 { margin: 0; }
.panel.pn-acc[open] { padding-bottom: 24px; }
.panel.pn-acc[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: 16px; }
@media (max-width: 640px) {
  .panel.pn-acc { padding: 0 16px; }
  .panel.pn-acc[open] { padding-bottom: 18px; }
  .bz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .bz-kart figcaption { padding: 8px 9px 10px; }
}

/* kaplama: paneller arası boşluk; bağlantı kataloğu arama bloğu panel görünümünde */
.kp > .panel + .panel { margin-top: 20px; }
.kp > .panel > .scroll { margin-bottom: 0; }
#baglanti > .kt { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 22px 26px; }
@media (max-width: 640px) { #baglanti > .kt { padding: 16px; } .kp > .panel { padding: 18px 16px; } }

/* telefonda ekmek kırıntısı bağlantıları parmakla basılabilir (görünüm aynı, alan büyür) */
@media (max-width: 640px) { .crumb a { display: inline-block; padding: 14px 4px; margin: -14px -4px; } }

/* ölçü ekranı: kayıtlı ölçü çizgisi sürüklenebilir (ok ve çizgiden tutulur), oklar dolu */
.vw-ma { fill: var(--accent); stroke: none; pointer-events: none; }
.vw-mx { stroke-width: 1; opacity: .85; }
.vw-dmh { fill: none; stroke: transparent; stroke-width: 18px; pointer-events: stroke; }
.vw-dm { cursor: grab; }
.vw-dm:hover .vw-ml:not(.vw-mx) { stroke-width: 2.6; }
.lz-tag.vw-dml { pointer-events: all; cursor: grab; }
#vw-svg { touch-action: none; }

/* ölçüyü yer değiştir kipi: ölçü çizgisi ve yazısı taşınır, seçili ölçünün uçlarında tutamaç çıkar */
.vw-dm { cursor: inherit; }
.vw-mv .vw-dm, .lz-tag.vw-dml { cursor: move; }
.vw-dm:hover .vw-ml:not(.vw-mx) { stroke-width: 1.4; }
.vw-mv .vw-dm:hover .vw-ml:not(.vw-mx) { stroke-width: 2.6; }
.vw-h { fill: var(--bg); stroke: var(--accent); stroke-width: 2; cursor: ew-resize; pointer-events: all; }

/* ölçü yazıları: koyu kenar (halo) çizim ölçeğiyle büyümesin, ekranda sabit 3 px kalsın */
#vw-svg .lz-tag, #lz-svg .lz-tag { vector-effect: non-scaling-stroke; stroke-linejoin: round; }

/* 3D ölçü etiketleri: yer değiştir kipinde sürüklenir, noktalı çizgiyle ölçü noktasına bağlanır */
.vw-ld { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.vw-ld line { stroke: var(--accent); stroke-width: 1; stroke-dasharray: 3 3; }
.vw-labels.vw-mvl span { pointer-events: auto; cursor: move; touch-action: none; user-select: none; }
.vw-labels span.vw-sel { outline: 2px solid var(--accent); outline-offset: 1px; }

.nf404 { max-width: 560px; margin: 0 auto; padding: 18vh 16px 10vh; text-align: center; color: var(--text); }
.nf404-kod { font: 700 72px var(--sans); color: var(--accent); margin: 0; line-height: 1; }
.nf404 h1 { font-size: 24px; margin: 14px 0 8px; }
.nf404 p { color: var(--muted); }

.vw-busy:not([hidden]) { display: flex; align-items: center; gap: 10px; }
.vw-busy:not([hidden])::before { content: ""; width: 16px; height: 16px; flex: none; border: 2px solid var(--line-2); border-top-color: var(--accent); border-radius: 50%; animation: vw-don .8s linear infinite; }
@keyframes vw-don { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .vw-busy:not([hidden])::before { animation: none; } }
.ct-form [aria-invalid=true] { border-color: #e5604d; }

/* ölçü türü renkleri (3B etiket ve liste): çap yeşil, boy mavi, açı sarı, yarıçap mor, anahtar ağzı turuncu */
.vw-labels span[data-tur=cap] { color: #8cc63f; border-color: #8cc63f; }
.vw-labels span[data-tur=boy] { color: #5fb4f0; border-color: #5fb4f0; }
.vw-labels span[data-tur=aci] { color: #f0b84b; border-color: #f0b84b; }
.vw-labels span[data-tur=yar] { color: #c89bff; border-color: #c89bff; }
.vw-labels span[data-tur=akb] { color: #ff8a5e; border-color: #ff8a5e; }
.vw-meas[data-tur] { border-left: 3px solid; padding-left: 8px; }
.vw-meas[data-tur=cap] { border-color: #8cc63f; }
.vw-meas[data-tur=boy] { border-color: #5fb4f0; }
.vw-meas[data-tur=aci] { border-color: #f0b84b; }
.vw-meas[data-tur=yar] { border-color: #c89bff; }
.vw-meas[data-tur=akb] { border-color: #ff8a5e; }

.vw-labels span { pointer-events: auto; cursor: pointer; }
.vw-labels span.vw-sel { background: var(--bg); }

.vw-dsel .vw-ml:not(.vw-mx) { stroke-width: 2.8; }

/* açık tema: ölçü etiketleri beyaz zeminde okunur koyulukta */
:root[data-theme="light"] .vw-labels span[data-tur=boy] { color: #1f6fb0; border-color: #1f6fb0; }
:root[data-theme="light"] .vw-labels span[data-tur=aci] { color: #a86a00; border-color: #a86a00; }
:root[data-theme="light"] .vw-labels span[data-tur=yar] { color: #7a45c2; border-color: #7a45c2; }
:root[data-theme="light"] .vw-labels span[data-tur=akb] { color: #c2410c; border-color: #c2410c; }
:root[data-theme="light"] .vw-meas[data-tur=boy] { border-color: #1f6fb0; }
:root[data-theme="light"] .vw-meas[data-tur=aci] { border-color: #a86a00; }
:root[data-theme="light"] .vw-meas[data-tur=yar] { border-color: #7a45c2; }
:root[data-theme="light"] .vw-meas[data-tur=akb] { border-color: #c2410c; }

.vw-labels span[data-tur=koza] { color: #d946ef; border-color: #d946ef; }
.vw-meas[data-tur=koza] { border-color: #d946ef; }
:root[data-theme="light"] .vw-labels span[data-tur=koza] { color: #a21caf; border-color: #a21caf; }
:root[data-theme="light"] .vw-meas[data-tur=koza] { border-color: #a21caf; }

/* 3B görünüm üstü düğmeler: Saydam, Kesit */
.vw-ov { position: absolute; top: 8px; right: 8px; z-index: 5; display: grid; gap: 6px; justify-items: end; }
.vw-ovr { display: flex; gap: 6px; }
.vw-ovb, .vw-cutax button { min-height: 36px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--text); font: 600 13px var(--sans); cursor: pointer; }
.vw-ovb[aria-pressed=true], .vw-cutax button.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.vw-cut { display: grid; gap: 8px; padding: 8px; width: 210px; border: 1px solid var(--line-2); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 92%, transparent); }
.vw-cut[hidden] { display: none; }
.vw-cutax { display: flex; gap: 6px; }
.vw-cutax button { flex: 1; padding: 0 6px; }
.vw-cutr { width: 100%; height: 28px; accent-color: var(--accent); }
/* telefon, tam ekran: üst araç çubukları gizlenir, parça ekranın tamamını doldurur; ölçü sonucu altta kayan şerit */
@media (max-width: 760px) {
  .lz-shell.lz-fs { overflow: hidden; padding: 0 8px; }
  .lz-shell.lz-fs #vw-app { display: flex; flex-direction: column; height: calc(100vh - 44px); height: calc(100dvh - 44px); margin: 0; }
  .lz-shell.lz-fs #vw-app .lz-spec, .lz-shell.lz-fs #vw-app .lz-left, .lz-shell.lz-fs #vw-app .lz-status, .lz-shell.lz-fs .lz-bpane { display: none; }
  .lz-shell.lz-fs #vw-app .lz-work { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .lz-shell.lz-fs #vw-app .lz-center { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .lz-shell.lz-fs #vw-app .lz-tools { flex: none; flex-wrap: nowrap; overflow-x: auto; }
  .lz-shell.lz-fs #vw-app .lz-stage { flex: 1; height: auto; min-height: 0; }
  .lz-shell.lz-fs #vw-app .lz-right { flex: none; max-height: 30vh; max-height: 30dvh; overflow-y: auto; }
}
@media (max-width: 760px) { .lz-shell.lz-fs .vw-axg { transform: scale(.62); transform-origin: left bottom; } }
