/* Canlı yayın. Ölçüler 1920×1080 tasarım pikselidir; --u ekrana göre ölçekler. Üst ve alt şerit yoktur, sahneler ekranın tamamını kaplar. */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  --u: min(100vw / 1920, 100vh / 1080);
  background: var(--night); color: var(--ivory); font-family: var(--font);
  overflow: hidden; -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums;
}
body.idle { cursor: none; }
.stage { position: fixed; inset: 0; transition: transform 520ms var(--ease-scene); }
/* Aşağı kaydırınca yayın yukarı çekilir, ayrıntılı panel alttan gelir */
.stage.to-panel { transform: translateY(-100%); }
.panel-peek { position: fixed; inset: 0; background: var(--porcelain); transform: translateY(100%); transition: transform 520ms var(--ease-scene); z-index: 30; }
.stage.to-panel + .panel-peek { transform: none; }

/* Logo: görselse yüksekliği, değilse ad yazısı */
.lg { display: block; width: auto; max-width: 100%; object-fit: contain; }
.lg-text { font-weight: 700; letter-spacing: -.02em; }
.logo-slot .lg { height: calc(52 * var(--u)); }
.logo-slot .lg-text { font-size: calc(30 * var(--u)); }

/* Ortak ipucu kartı */
.tip, .tipcard {
  font-family: var(--font); color: var(--ivory); background: var(--slate); border: 1px solid rgba(242, 244, 239, .18);
  border-radius: 8px; padding: 14px 18px; font-size: max(13px, calc(17 * var(--u))); line-height: 1.35; min-width: 220px; max-width: 360px;
}
.tip { position: fixed; left: 0; top: 0; z-index: 60; pointer-events: none; }
.tip[hidden] { display: none; }
.tip b, .tipcard b { display: block; font-weight: 600; font-size: 1.12em; }
.tip > span, .tipcard > span { display: block; color: var(--ivory-2); font-size: .9em; margin-top: 2px; }
.tip dl, .tipcard dl { display: grid; grid-template-columns: auto auto; gap: 4px 18px; margin-top: 10px; }
.tip dt, .tipcard dt { color: var(--ivory-2); }
.tip dd, .tipcard dd { text-align: right; font-weight: 500; }
/* Kartta iştirak logosu şeritsiz, koyu zeminde okunsun diye beyaz tek renk */
.tip-logo { margin-bottom: 12px; }
.tip-logo img { display: block; max-height: 28px; max-width: 180px; object-fit: contain; filter: brightness(0) invert(1); opacity: .95; }
.tip .pos, .tipcard .pos { color: var(--pos-d); } .tip .neg, .tipcard .neg { color: var(--neg-d); }
/* Ülke kartı: şirket ve kalem bazında döküm */
.tip:has(.tip-lines) { max-width: 440px; }
.tip-lines { list-style: none; margin-top: 12px; border-top: 1px solid rgba(242, 244, 239, .14); }
.tip-lines li { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0; border-bottom: 1px solid rgba(242, 244, 239, .08); font-size: .92em; }
.tip-lines li span { display: flex; flex-direction: column; color: var(--ivory-2); }
.tip-lines li span b { font-size: 1em; color: var(--ivory); font-weight: 500; }
.tip-lines li span:last-child { text-align: right; align-items: flex-end; white-space: nowrap; }
.tip-lines li span:last-child b { color: var(--ice); }
.tip .tip-foot { margin-top: 10px; font-size: .85em; }

/* ---------- Sahneler ---------- */
.scenes { position: absolute; inset: 0; overflow: hidden; }
.scene { position: absolute; inset: 0; transform: translateX(100%); visibility: hidden; transition: transform 650ms var(--ease-scene), visibility 0s linear 650ms; }
.scene.is-on { transform: none; visibility: visible; transition: transform 650ms var(--ease-scene); }
.scene.is-out { transform: translateX(-100%); visibility: visible; }
.scene.out-right { transform: translateX(100%); visibility: visible; }
.scene.enter-left { transform: translateX(-100%); }

/* ---------- Karolar (duvar ve özet) ---------- */
.wall, .brief-grid { position: absolute; inset: 0; display: grid; }
.wall { grid-template-columns: repeat(var(--cols, 4), 1fr); grid-template-rows: repeat(var(--rows, 3), 1fr); }
.tile { position: relative; overflow: hidden; container-type: size; cursor: pointer; outline: none; }
.tile:focus-visible::after { content: ''; position: absolute; inset: 4px; border: 2px solid var(--ice); z-index: 2; }
.slider { position: absolute; inset: 0; }
.face { position: absolute; inset: 0; padding: 9cqh 9.5cqw 0; display: flex; flex-direction: column; color: var(--ivory); }
.face.s-night { background: var(--s-night); } .face.s-petrol { background: var(--s-petrol); } .face.s-steel { background: var(--s-steel); }
.face.s-ice { background: var(--s-ice); color: var(--ink); } .face.s-ivory { background: var(--s-ivory); color: var(--ink); } .face.s-coral { background: var(--s-coral); }
[data-tema='canli'] .face.s-petrol .sb.pos, [data-tema='canli'] .face.s-coral .sb.pos { color: #E6FFF4; }
[data-tema='canli'] .face.s-petrol .sb.neg, [data-tema='canli'] .face.s-coral .sb.neg { color: #FFE3DE; }
[data-tema='canli'] .face.s-ice .sb.neg { color: #A3220F; }
.face .lb { font-size: min(11.5cqh, 7.2cqw); font-weight: 600; letter-spacing: -.01em; line-height: 1.15; }
.face .vl { margin-top: 1.5cqh; font-weight: 700; letter-spacing: -.045em; line-height: .95; white-space: nowrap; font-size: min(40cqh, calc(80cqw / var(--len))); }
.face .vl small { font-size: .55em; letter-spacing: -.02em; margin-left: .12em; }
.face .un { margin-top: 3cqh; font-size: min(12cqh, 7.4cqw); line-height: 1.15; }
.face .sb { margin-top: 2.5cqh; font-size: min(11cqh, 6.6cqw); font-weight: 600; }
.face .sb small { font-weight: 400; margin-left: .6em; font-size: .8em; color: inherit; }
.face .sb.pos { color: var(--pos-d); } .face .sb.neg { color: var(--neg-d); }
.face.s-steel .sb.pos { color: #D4F6E5; } .face.s-steel .sb.neg { color: #FFD5CB; }
.face.s-ice .sb.pos, .face.s-ivory .sb.pos { color: var(--pos); } .face.s-ice .sb.neg, .face.s-ivory .sb.neg { color: var(--neg); }
.face.s-ice .sb small, .face.s-ivory .sb small { color: var(--ink); }
.face .ch { opacity: 0; animation: ink .3s linear forwards; }
@keyframes ink { to { opacity: 1; } }
/* Izgara seçici (Trends TV gibi): yalnızca fare oynarken sağ üstte görünür.
   Karonun rengi ne olursa olsun okunsun diye hafif koyu zemin üzerinde. */
.gridpick {
  position: absolute; top: calc(36 * var(--u)); right: calc(36 * var(--u)); z-index: 5;
  display: grid; grid-template-columns: repeat(5, max(9px, calc(13 * var(--u)))); gap: max(4px, calc(5 * var(--u)));
  padding: max(8px, calc(11 * var(--u))); border-radius: 6px; background: rgba(14, 20, 24, .42); backdrop-filter: blur(6px);
  opacity: 0; pointer-events: none; transition: opacity 300ms;
}
body:not(.idle) .gridpick { opacity: 1; pointer-events: auto; }
.gridpick button { aspect-ratio: 1; border: 0; padding: 0; border-radius: 2px; background: rgba(242, 244, 239, .32); cursor: pointer; transition: background 120ms; }
.gridpick button.on { background: var(--ivory); }
.gridpick:hover button { background: rgba(242, 244, 239, .32); }
.gridpick:hover button.hv { background: var(--ice); }
@media (max-width: 759px) { .gridpick { display: none; } }

/* Logo karosu */
.logo-face { flex: 1; display: grid; place-items: center; padding-bottom: 9cqh; }
.logo-face .lg { height: 30cqh; max-width: 70cqw; }
.logo-face .lg-text { font-size: min(16cqh, 10cqw); text-align: center; }
.logo-face.fade { opacity: 0; animation: ink .5s .1s linear forwards; }

/* ---------- 2. Nabız ---------- */
.orbit { position: absolute; inset: 0; width: 100%; height: 100%; }
.orbit .core { fill: #0B1013; stroke: rgba(184, 220, 232, .55); stroke-width: 1.5; }
.orbit .core-val { font-size: 92px; font-weight: 700; letter-spacing: -.045em; fill: var(--ivory); }
.orbit .core-unit { font-size: 26px; fill: var(--ivory-2); }
.orbit .ghost { fill: none; stroke: rgba(242, 244, 239, .2); stroke-width: 1; }
.orbit .fill { fill: rgba(184, 220, 232, .78); transition: fill 300ms; }
.orbit .fill.now { fill: var(--ice); animation: now 1.6s ease-in-out infinite; }
.orbit .fill.flash { fill: #fff; transition: none; }
@keyframes now { 50% { fill: #E4F3F8; } }
.orbit .bar .hit { fill: transparent; cursor: crosshair; }
.orbit .bar:hover .fill { fill: #fff; }
.orbit .bar:hover .ghost { stroke: rgba(242, 244, 239, .6); }
.orbit .sweep path { fill: var(--ice); pointer-events: none; }
.orbit .sweep .hand { stroke: var(--ice); stroke-width: 2; }
.orbit .hr { font-size: 17px; fill: var(--ivory-2); letter-spacing: .06em; }
.orbit .node { cursor: pointer; transition: opacity 220ms; }
.orbit .hit { fill: transparent; }
.orbit .track { fill: none; stroke: rgba(242, 244, 239, .12); stroke-width: 3; }
.orbit .arc { fill: none; stroke: var(--ice); stroke-width: 3; stroke-linecap: round; }
.orbit .arc.full { stroke: var(--pos-d); }
.orbit .co-name { font-size: 24px; font-weight: 600; fill: var(--ivory); }
.orbit .co-val { font-size: 21px; fill: var(--ivory); }
.orbit .co-ch { font-size: 18px; font-weight: 600; }
.orbit .mut { fill: var(--ivory-2); font-weight: 400; }
.orbit .pos { fill: var(--pos-d); } .orbit .neg { fill: var(--neg-d); }
.orbit .ring { fill: none; stroke: var(--ice); stroke-width: 1.5; }
.orbit .float { font-size: 20px; font-weight: 600; fill: var(--ice); pointer-events: none; }
.orbit.focus .node:not(.on) { opacity: .2; }
/* Telefon dikey: çizim 0,48 kat küçülür; yazılar buna göre büyük */
.orbit.portrait .co-name { font-size: 31px; } .orbit.portrait .co-val { font-size: 28px; } .orbit.portrait .co-ch { font-size: 25px; }
.orbit.portrait .hr { font-size: 24px; } .orbit.portrait .core-unit { font-size: 30px; }
.orbit.portrait .co-name { font-size: 30px; } .orbit.portrait .co-val { font-size: 30px; font-weight: 600; } .orbit.portrait .co-ch { font-size: 23px; }
.orbit .tgt-track { fill: rgba(242, 244, 239, .12); }
.orbit .tgt-fill { fill: var(--ice); } .orbit .tgt-fill.full { fill: var(--pos-d); } .orbit .tgt-fill.low { fill: var(--neg-d); }
.orbit .tgt-tick { fill: var(--ivory); opacity: .7; }
/* Dünya: ülke şeridi yalnız telefonda */
.map-chips { display: none; }
.bpm { position: absolute; right: calc(64 * var(--u)); top: calc(52 * var(--u)); text-align: right; z-index: 2; pointer-events: none; }
.bpm b { display: block; font-size: calc(104 * var(--u)); font-weight: 700; letter-spacing: -.045em; line-height: 1; color: var(--ice); }
.bpm span { font-size: calc(22 * var(--u)); color: var(--ivory-2); }

/* ---------- 3. Kasa ---------- */
.sc-till { padding: calc(40 * var(--u)) calc(64 * var(--u)); }
.till { height: 100%; background: var(--petrol); padding: calc(56 * var(--u)) calc(64 * var(--u)) 0; display: flex; flex-direction: column; overflow: hidden; }
.till-top { display: flex; justify-content: space-between; align-items: center; }
.till-vs { display: flex; align-items: baseline; gap: calc(14 * var(--u)); font-size: calc(40 * var(--u)); font-weight: 600; }
.till-vs small { font-size: calc(17 * var(--u)); font-weight: 400; color: var(--ivory-2); max-width: calc(150 * var(--u)); line-height: 1.2; }
.till-vs.pos { color: var(--pos-d); } .till-vs.neg { color: var(--neg-d); }
.odo { display: flex; align-items: baseline; margin-top: calc(28 * var(--u)); font-size: calc(220 * var(--u)); font-weight: 700; letter-spacing: -.045em; line-height: 1.02; white-space: nowrap; }
.odo .d { display: inline-block; height: 1.02em; overflow: hidden; }
.odo .col { display: flex; flex-direction: column; transition: transform 350ms cubic-bezier(.3, .7, .3, 1); }
.odo .col span { height: 1.02em; }
.odo .cur { margin-left: .14em; font-size: .78em; letter-spacing: 0; }
.till-sub { margin-top: calc(6 * var(--u)); font-size: calc(28 * var(--u)); color: var(--ivory); }
.till-sub b { font-weight: 600; }
.till-sub span { color: var(--ivory-2); margin: 0 .7em; }
.band { display: flex; gap: calc(4 * var(--u)); height: calc(18 * var(--u)); margin-top: calc(64 * var(--u)); cursor: crosshair; }
.band i { flex-basis: 0; transition: transform 150ms; }
.band i:hover { transform: scaleY(1.6); }
.band-legend { display: flex; gap: calc(4 * var(--u)); margin-top: calc(14 * var(--u)); }
.band-legend span { flex-basis: 0; min-width: 0; font-size: calc(15 * var(--u)); color: var(--ivory-2); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.band-legend b { display: block; color: var(--ivory); font-weight: 600; font-size: calc(18 * var(--u)); }
.till-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: calc(72 * var(--u)); }
.till-stats div { padding-right: calc(32 * var(--u)); min-width: 0; }
.till-stats div + div { padding-left: calc(48 * var(--u)); border-left: 1px solid var(--rule); }
.till-stats b { display: block; font-size: calc(62 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; white-space: nowrap; transition: color 250ms; }
.till-stats span { display: block; margin-top: calc(8 * var(--u)); font-size: calc(18 * var(--u)); letter-spacing: .04em; color: var(--ivory-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#t-max-box.flash b { color: var(--ice); }
.ticker { margin-top: auto; border-top: 1px solid var(--rule); height: calc(68 * var(--u)); display: flex; align-items: center; overflow: hidden; }
.ticker-track { display: flex; gap: calc(72 * var(--u)); white-space: nowrap; font-size: calc(19 * var(--u)); animation: tick 70s linear infinite; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-track > span { display: flex; align-items: center; gap: calc(12 * var(--u)); }
.ticker-track i { width: calc(10 * var(--u)); height: calc(10 * var(--u)); border-radius: 50%; background: var(--ivory-2); }
.ticker-track i.x { background: var(--ice); } .ticker-track i.d { background: var(--pos-d); }
@keyframes tick { to { transform: translateX(-50%); } }

/* ---------- 4. Dünya ---------- */
.sc-map { display: grid; grid-template-columns: calc(520 * var(--u)) 1fr; background: radial-gradient(ellipse at 65% 50%, #13202A 0%, var(--night) 62%); }
.map-side { position: relative; z-index: 2; padding: calc(64 * var(--u)) calc(40 * var(--u)) calc(56 * var(--u)) calc(64 * var(--u)); display: flex; flex-direction: column; justify-content: space-between; }
.map-stats div { padding: calc(20 * var(--u)) 0 calc(22 * var(--u)); border-top: 1px solid var(--rule); }
.map-stats dt { font-size: calc(88 * var(--u)); font-weight: 700; letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.map-stats .ice dt { color: var(--ice); }
.map-stats dd { margin-top: calc(8 * var(--u)); font-size: calc(22 * var(--u)); color: var(--ivory-2); }
.map-wrap { position: relative; min-width: 0; }
.globe { position: absolute; inset: 0; cursor: grab; }
.globe:active { cursor: grabbing; }
/* Varış ülkesi: adı ve bugünkü ihracat tutarı; üzerine gelince döküm kartı */
.gl-label {
  font-family: var(--font); transform: translate(-50%, -115%); white-space: nowrap; text-align: center; line-height: 1.15;
  pointer-events: auto; cursor: pointer; padding: 3px 6px; border-radius: 4px; text-shadow: 0 1px 3px #0E1418; transition: background 150ms, opacity 200ms;
}
.gl-label b { display: block; font-size: 14px; font-weight: 500; color: var(--ivory); }
.gl-label small { display: block; font-size: 12.5px; color: var(--ice); font-variant-numeric: tabular-nums; }
.gl-label small:empty { display: none; }
.gl-label:hover { background: rgba(14, 20, 24, .7); }
/* Küre üzerindeki iştirak işaretleri: atan ışık */
.gl-co { position: relative; pointer-events: none; }
.gl-co .badge {
  position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; transform: translate(-50%, -50%);
  display: grid; place-items: center; pointer-events: auto; cursor: pointer;
  background: rgba(184, 220, 232, .16); box-shadow: 0 0 0 1px rgba(184, 220, 232, .55);
}
.gl-co .badge i { width: 10px; height: 10px; border-radius: 50%; background: var(--ice); box-shadow: 0 0 12px 2px rgba(184, 220, 232, .7); }
.gl-co .badge:hover { box-shadow: 0 0 0 2px var(--ice); }
.gl-co .badge.beat { animation: beat 700ms ease-out; }
@keyframes beat { 30% { box-shadow: 0 0 0 9px rgba(184, 220, 232, .3); } }
.gl-label.hid { opacity: 0; pointer-events: none; }

/* ---------- 5. Borsa (açık sahne) ---------- */
.sc-market { background: var(--porcelain); color: var(--ink); padding: calc(52 * var(--u)) calc(64 * var(--u)) calc(44 * var(--u)); display: flex; flex-direction: column; }
.mk-head { display: flex; justify-content: space-between; align-items: center; }
.mk-index { text-align: right; }
.mk-index .k { font-size: calc(16 * var(--u)); font-weight: 600; letter-spacing: .12em; color: var(--ink-2); }
.mk-index .v { display: flex; gap: calc(24 * var(--u)); align-items: baseline; justify-content: flex-end; font-size: calc(44 * var(--u)); font-weight: 600; letter-spacing: -.02em; }
.mk-index .v span { font-size: calc(30 * var(--u)); }
.mk-index .n { font-size: calc(15 * var(--u)); color: var(--muted); }
.pos-l { color: var(--pos); } .neg-l { color: var(--neg); }
.board { flex: 1; min-height: 0; margin-top: calc(28 * var(--u)); display: grid; grid-template-columns: repeat(var(--bc, 3), 1fr); grid-auto-rows: 1fr; border-top: 1px solid var(--line); }
.stock { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr; padding: calc(22 * var(--u)) calc(28 * var(--u)) calc(14 * var(--u)); border-bottom: 1px solid var(--line); min-height: 0; }
.stock:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); }
.stock .sym { font-size: calc(20 * var(--u)); font-weight: 600; letter-spacing: .1em; }
.stock .nm { font-size: calc(16 * var(--u)); color: var(--ink-2); grid-row: 2; }
.stock .px { grid-column: 2; grid-row: 1 / 3; text-align: right; font-size: calc(36 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.stock .px span { display: block; font-size: calc(20 * var(--u)); font-weight: 600; letter-spacing: 0; }
.stock svg { grid-column: 1 / -1; width: 100%; height: 100%; min-height: calc(60 * var(--u)); margin-top: calc(10 * var(--u)); overflow: visible; cursor: crosshair; }
.stock .xh { stroke: var(--ink); stroke-width: 1; opacity: 0; }
.stock .xh.on { opacity: .5; }
.board.big { --bc: 2; }
.board.big .stock { padding: calc(36 * var(--u)) calc(48 * var(--u)) calc(24 * var(--u)); grid-template-columns: 1fr; grid-template-rows: auto auto auto auto 1fr auto; }
.board.big .stock:nth-child(2) { border-left: 1px solid var(--line); }
.board.big .sym { font-size: calc(30 * var(--u)); }
.board.big .nm { grid-row: auto; font-size: calc(20 * var(--u)); }
.board.big .px { grid-column: 1; grid-row: auto; text-align: left; display: flex; align-items: baseline; gap: calc(40 * var(--u)); margin-top: calc(24 * var(--u)); font-size: calc(150 * var(--u)); letter-spacing: -.05em; line-height: .95; }
.board.big .px span { display: inline; font-size: calc(44 * var(--u)); letter-spacing: -.01em; }
.board.big .cap { margin-top: calc(28 * var(--u)); font-size: calc(15 * var(--u)); font-weight: 600; letter-spacing: .1em; color: var(--ink-2); }
.board.big svg { margin-top: calc(12 * var(--u)); }
.board.big .ax { display: flex; justify-content: space-between; font-size: calc(14 * var(--u)); color: var(--muted); margin-top: calc(6 * var(--u)); }

/* ---------- 6. Günün özeti ---------- */
.brief-grid { grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); }
.brief-grid .tile.big { grid-area: 1 / 1 / 3 / 3; }
.focus-face { flex: 1; display: flex; flex-direction: column; padding-bottom: 7cqh; }
.focus-face .lb { font-size: min(4.6cqh, 3.4cqw); }
.focus-face h3 { margin-top: 4cqh; font-size: min(10cqh, 7.4cqw); font-weight: 700; letter-spacing: -.045em; line-height: 1.02; }
.focus-face .ff-big { margin-top: auto; font-size: min(17cqh, 12cqw); font-weight: 700; letter-spacing: -.05em; line-height: 1; white-space: nowrap; }
.focus-face .ff-big small { font-size: .55em; letter-spacing: -.02em; }
.focus-face .ff-big.neg { color: var(--neg); } .focus-face .ff-big.pos { color: var(--pos); }
.face:not(.s-ice):not(.s-ivory) .ff-big.neg { color: var(--neg-d); } .face:not(.s-ice):not(.s-ivory) .ff-big.pos { color: var(--pos-d); }
.focus-face .un { margin-top: 1.5cqh; font-size: min(4.4cqh, 3.2cqw); }
.focus-face .ff-logo { position: absolute; right: 6cqw; top: 6.5cqh; }
.focus-face .ff-logo .lg { height: 7cqh; }
.focus-face .ff-logo .lg-text { font-size: min(4.6cqh, 3.4cqw); }

/* ---------- Telefon ---------- */
@media (max-width: 760px) {
  body { --u: calc(100vw / 860); }
  .sc-map { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .brief-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: 2fr 1fr 1fr; }
  .brief-grid .tile.big { grid-area: 1 / 1 / 2 / 3; }
  /* Borsa: üç sütun telefona sığmıyordu; iki sütun, sütunlar içerikle şişmez */
  .board { --bc: 2 !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .board:not(.big) .stock:not(:nth-child(3n + 1)) { border-left: 0; }
  .board:not(.big) .stock:nth-child(even) { border-left: 1px solid var(--line); }
  .stock { padding: 10px 12px 6px; }
  .stock .sym { font-size: 13px; }
  .stock .nm { font-size: 11px; }
  .stock .px { font-size: 20px; }
  .stock .px span { font-size: 12px; }
  .stock svg { min-height: 28px; margin-top: 4px; }
  /* Nabız: işlem/dk sağ üstte, kadranla çakışmaz */
  .bpm { right: 18px; top: 16px; }
  .bpm b { font-size: 40px; } .bpm span { font-size: 13px; }
  /* Kasa: sayaç ekran genişliğine sığar, rakam sütunları sıkışmaz; üç değer alt alta */
  .sc-till { padding: 12px; }
  .till { padding: 22px 20px 0; }
  .till-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  .till-vs { font-size: 22px; } .till-vs small { font-size: 12px; max-width: none; }
  .logo-slot .lg { height: 30px; }
  .odo { margin-top: 26px; font-size: 11.4vw; }
  .odo > * { flex-shrink: 0; }
  .till-sub { margin-top: 8px; font-size: 15px; line-height: 1.4; }
  .band { height: 12px; margin-top: 30px; }
  .band-legend span { font-size: 11px; } .band-legend b { font-size: 13px; }
  .till-stats { grid-template-columns: minmax(0, 1fr); margin-top: 26px; flex: 1; align-content: space-evenly; }
  .till-stats div, .till-stats div + div { padding: 14px 0; border-left: 0; border-top: 1px solid var(--rule); }
  .till-stats b { font-size: 38px; }
  .till-stats span { margin-top: 4px; font-size: 13px; letter-spacing: 0; }
  .ticker { height: 46px; } .ticker-track { font-size: 13px; gap: 36px; }
  /* Dünya: rakamlar kompakt karo şeridi, küre ekranın büyük kısmında, altta dokunulabilir ülkeler */
  .map-side { display: grid; gap: 12px; padding: 16px 14px 6px; justify-content: stretch; }
  .map-side .logo-slot .lg { height: 26px; }
  .map-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .map-stats div:last-child { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 10px; }
  .map-stats div { padding: 10px 11px 11px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .07); min-width: 0; }
  .map-stats dt { font-size: 22px; letter-spacing: -.03em; overflow: hidden; text-overflow: ellipsis; }
  .map-stats dd { margin-top: 3px; font-size: 11px; line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .map-chips { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; display: flex; gap: 8px; padding: 0 12px; overflow-x: auto; scrollbar-width: none; }
  .map-chips::-webkit-scrollbar { display: none; }
  .map-chips button {
    flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 8px 12px; border-radius: 12px;
    background: rgba(10, 20, 56, .78); backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, .16); color: var(--ivory); font: 600 13px var(--font);
  }
  .map-chips b { font-weight: 600; font-size: 12px; color: var(--ice); }
  .gl-label b { font-size: 12px; } .gl-label small { font-size: 11px; }
  .tip { max-width: calc(100vw - 32px); min-width: 0; }
  .tip:has(.tip-lines) { max-width: calc(100vw - 32px); }
  /* Özet: büyük karo ekranın yarısını boş kaplamasın */
  .brief-grid { grid-template-rows: 1.25fr 1fr 1fr; }
}

/* ?motion=off */
.calm .scene, .calm .scene.is-on { transition: opacity 200ms; transform: none; }
.calm .scene:not(.is-on) { opacity: 0; }
.calm .face .ch, .calm .logo-face.fade { animation: none; opacity: 1; }
.calm .ticker-track { animation: none; }
.calm .odo .col { transition: none; }

/* globe.gl kendi ipucu kutusu: kart zaten çizildiği için kutunun kendisi görünmez */
.sc-map .scene-tooltip { background: none !important; padding: 0 !important; }

/* ---------- Canlı tema: sabit ice tonlarının karşılıkları ---------- */
[data-tema='canli'] .orbit .core { fill: #081030; stroke: rgba(61, 214, 255, .55); }
[data-tema='canli'] .orbit .fill { fill: rgba(61, 214, 255, .8); }
[data-tema='canli'] .orbit .fill.now { fill: var(--s-ice); }
[data-tema='canli'] .sc-map { background: radial-gradient(ellipse at 65% 50%, #142C78 0%, var(--night) 62%); }
[data-tema='canli'] .gl-co .badge { background: rgba(61, 214, 255, .16); box-shadow: 0 0 0 1px rgba(61, 214, 255, .55); }
[data-tema='canli'] .gl-co .badge i { box-shadow: 0 0 12px 2px rgba(61, 214, 255, .7); }
[data-tema='canli'] .gl-label { text-shadow: 0 1px 3px #0A1438; }
