/* HDS PieChart V1 — içi dolu 2D / 3D pasta; bileşen sahipli geometri sunumu ve semantik tema tokenları. */
/* Public hook'lar (T3.4 · 19.10.2026): --hds-pie-color-<renk> (semantik renk başına palet), --hds-pie-legend-padding, --hds-pie-legend-font-size; tüketici kendi sarmalayıcısında tanımlar. */
.hds-pie-chart { --pie-size:260px; --pie-ink:var(--color-text,#203447); --pie-focus:var(--color-info,#176da6); --pie-edge:var(--color-surface,#ffffff); margin:0; min-width:0; width:100%; container:pie-chart / inline-size; color:var(--pie-ink); font-family:inherit; }
.hds-pie-chart,.hds-pie-chart * { box-sizing:border-box; }
.hds-pie-chart--sm { --pie-size:200px; }
.hds-pie-chart--lg { --pie-size:320px; }
.hds-pie-chart__layout { display:grid; grid-template-columns:minmax(0,var(--pie-size)) minmax(0,1fr); align-items:center; gap:24px; }
.hds-pie-chart--bottom .hds-pie-chart__layout { grid-template-columns:minmax(0,1fr); }
.hds-pie-chart__frame { position:relative; width:min(100%,var(--pie-size)); aspect-ratio:1; justify-self:center; }
/* 3D viewBox 240 × 190: alt kalınlık ve dışa açılma alanı çerçevenin içinde. */
.hds-pie-chart--3d .hds-pie-chart__frame { aspect-ratio:240 / 190; }
.hds-pie-chart__svg { display:block; width:100%; height:100%; overflow:visible; }
.hds-pie-chart__slice { transform:translate(var(--pie-x,0px),var(--pie-y,0px)); transform-box:view-box; transition:transform 200ms ease,filter 200ms ease; outline:none; }
.hds-pie-chart__top { fill:var(--pie-color); stroke:var(--pie-edge); stroke-width:1.25; stroke-linejoin:round; }
/* 3D yan yüzey: aynı rengin koyu tonu (gerçek path, CSS gölgesi değil). */
.hds-pie-chart__side { fill:var(--pie-side,var(--pie-color)); stroke:var(--pie-side,var(--pie-color)); stroke-width:.6; stroke-linejoin:round; }
@supports (color:color-mix(in srgb,red,blue)) { .hds-pie-chart__slice { --pie-side:color-mix(in srgb,var(--pie-color) 68%,#0b1424); } }
.hds-pie-chart--3d .hds-pie-chart__top { stroke-width:1; }
.hds-pie-chart__floor { fill:rgb(15 23 42 / 16%); filter:blur(5px); }
.hds-pie-chart__track { fill:var(--color-border,#e2e8f0); }
.hds-pie-chart__track--side { fill:#cbd5e1; }
.hds-pie-chart.is-interactive .hds-pie-chart__slice { cursor:pointer; touch-action:manipulation; }
.hds-pie-chart__slice.is-selected { filter:drop-shadow(0 3px 3px rgb(15 23 42 / 30%)); }
.hds-pie-chart--3d .hds-pie-chart__slice.is-selected { filter:drop-shadow(0 6px 5px rgb(15 23 42 / 34%)); }
.hds-pie-chart__slice:focus-visible .hds-pie-chart__top { stroke:var(--pie-focus); stroke-width:3; }
.hds-pie-chart__slice:focus-visible { filter:drop-shadow(0 0 2px var(--pie-focus)); }
.hds-pie-chart__legend { list-style:none; margin:0; padding:0; min-width:0; display:grid; gap:5px; }
.hds-pie-chart__legend[hidden] { display:none; }
.hds-pie-chart__legend-item { display:grid; grid-template-columns:12px minmax(0,1fr) auto auto; gap:10px; align-items:center; width:100%; min-height:44px; padding:var(--hds-pie-legend-padding,9px 12px); margin:0; border:1px solid transparent; border-radius:12px; background:transparent; color:inherit; text-align:left; font:inherit; font-size:var(--hds-pie-legend-font-size,14px); }
button.hds-pie-chart__legend-item:enabled { cursor:pointer; touch-action:manipulation; }
button.hds-pie-chart__legend-item:disabled { opacity:1; }
.hds-pie-chart__legend-item.is-selected { background:var(--color-surface-soft,#f1f5f9); border-color:var(--pie-focus); box-shadow:inset 3px 0 0 var(--pie-focus); }
.hds-pie-chart__legend-item:focus-visible { outline:3px solid var(--pie-focus); outline-offset:2px; }
.hds-pie-chart__swatch { width:10px; height:10px; border-radius:3px; background:var(--pie-color); }
.hds-pie-chart__legend-label { overflow-wrap:anywhere; min-width:0; }
.hds-pie-chart__legend-value { font-weight:750; font-variant-numeric:tabular-nums; }
.hds-pie-chart__legend-share { min-width:3.2em; text-align:right; color:var(--color-text-muted,#64748b); font-size:13px; font-variant-numeric:tabular-nums; }
.hds-pie-chart__empty { margin:8px 0 0; text-align:center; color:var(--color-text-muted,#64748b); font-size:13px; }
.hds-pie-chart__status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.hds-pie-chart .color-success { --pie-color:var(--hds-pie-color-success,var(--color-success,var(--button-success-background,#198754))); }
.hds-pie-chart .color-warning { --pie-color:var(--hds-pie-color-warning,var(--color-warning,var(--button-warning-background,#f4b740))); }
.hds-pie-chart .color-danger { --pie-color:var(--hds-pie-color-danger,var(--color-danger,var(--button-danger-background,#dc3545))); }
.hds-pie-chart .color-info { --pie-color:var(--hds-pie-color-info,var(--color-info,var(--button-info-background,#2878b8))); }
.hds-pie-chart .color-primary { --pie-color:var(--hds-pie-color-primary,var(--color-primary,var(--button-primary-background,#073343))); }
.hds-pie-chart .color-secondary { --pie-color:var(--hds-pie-color-secondary,var(--color-secondary,var(--button-secondary-background,#6c757d))); }
.hds-pie-chart .color-neutral { --pie-color:var(--hds-pie-color-neutral,var(--color-text-muted,#94a3b8)); }
@container pie-chart (max-width:480px) { .hds-pie-chart__layout { grid-template-columns:minmax(0,1fr); gap:12px; } }
@media(hover:hover) { .hds-pie-chart.is-interactive .hds-pie-chart__slice:not(.is-selected):hover { filter:brightness(1.07); } button.hds-pie-chart__legend-item:enabled:hover { background:var(--color-surface-soft,#f1f5f9); } }
@media(prefers-reduced-motion:reduce) { .hds-pie-chart__slice { transition:none; } }
@media(forced-colors:active) { .hds-pie-chart__top,.hds-pie-chart__side { stroke:CanvasText; stroke-width:1; } .hds-pie-chart__slice.is-selected .hds-pie-chart__top { stroke:Highlight; stroke-width:3; } .hds-pie-chart__legend-item.is-selected { border-color:Highlight; } }
