/* Карта тривог і цілей. Кольори мапи задаються палітрою (data-palette на <html>). */
:root {
  --display: "Unbounded", "Golos Text", system-ui, sans-serif;
  --body: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --edge: 14px;
  --radius: 14px;
}

/* палітри */
:root, [data-palette="night"] {
  --bg: #0b1730; --land: #1d3260; --raion-line: #0b1730; --oblast-line: #4a6096;
  --red: #b83d35; --yellow: #c09a2e; --long: #5c2a3c;
  --text: #eef1f7; --muted: #9aa8c7; --accent: #9cc8ff;
  --panel: rgba(10, 20, 40, 0.92); --panel-solid: #111f3d; --line: #273b66;
  --label: #f3f5fa; --label-halo: rgba(5, 12, 28, 0.85);
  --ok: #4fd1a1; --alarm-text: #ff6557; --amber-text: #f0b840;
}
[data-palette="graphite"] {
  --bg: #15171c; --land: #2c313c; --raion-line: #15171c; --oblast-line: #6b7385;
  --red: #8f322e; --yellow: #b39236; --long: #4f2529;
  --text: #e8e9ec; --muted: #9499a6; --accent: #b7c4dd;
  --panel: rgba(24, 27, 34, 0.93); --panel-solid: #1f232b; --line: #353a46;
  --label: #f1f2f4; --label-halo: rgba(0, 0, 0, 0.8);
}
[data-palette="contrast"] {
  --bg: #020b1f; --land: #3a4660; --raion-line: #020b1f; --oblast-line: #93a2c2;
  --red: #d0352b; --yellow: #e0aa1e; --long: #6d1f2a;
  --text: #ffffff; --muted: #b3bfd8; --accent: #a9d2ff;
  --panel: rgba(4, 14, 36, 0.95); --panel-solid: #0a1838; --line: #34466e;
  --label: #ffffff; --label-halo: rgba(0, 6, 20, 0.9);
}
[data-palette="black"] {
  --bg: #000000; --land: #1c1c1f; --raion-line: #000000; --oblast-line: #56565c;
  --red: #a32a25; --yellow: #a8841f; --long: #401a1e;
  --text: #ececec; --muted: #8e8e93; --accent: #c8c8cc;
  --panel: rgba(12, 12, 13, 0.95); --panel-solid: #121214; --line: #2c2c30;
  --label: #f2f2f2; --label-halo: rgba(0, 0, 0, 0.9);
}
[data-palette="day"] {
  --bg: #eef1f6; --land: #cdd6e6; --raion-line: #eef1f6; --oblast-line: #7687a8;
  --red: #e0564b; --yellow: #edbd3f; --long: #c79aa2;
  --text: #15223d; --muted: #5c6a88; --accent: #1f5fb8;
  --panel: rgba(255, 255, 255, 0.94); --panel-solid: #ffffff; --line: #cfd6e4;
  --label: #15223d; --label-halo: rgba(255, 255, 255, 0.9);
  --ok: #1f9a6d; --alarm-text: #c9362b; --amber-text: #9a6b00;
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); font: 400 14px/1.45 var(--body); }
h2, h3, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: var(--accent); }
button, select, input { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
[hidden] { display: none !important; }
svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

#map { position: absolute; inset: 0; background: var(--bg); }
.leaflet-container { background: var(--bg); font: inherit; }

/* полігони: колір задає CSS, тому палітра міняється без перемальовування */
path.raion { fill: var(--land); stroke: var(--raion-line); stroke-width: 0.8; fill-opacity: 1; fill-rule: evenodd; stroke-linejoin: round; }
path.raion[data-state="red"] { fill: var(--red); }
path.raion[data-state="yellow"] { fill: var(--yellow); }
path.raion[data-state="long"] { fill: var(--long); }
path.raion.city { stroke: var(--oblast-line); stroke-width: 1.2; }
path.oblast-line { fill: none; stroke: var(--oblast-line); stroke-width: 1.4; stroke-linejoin: round; }
path.my-region { fill: none; stroke: var(--accent); stroke-width: 2.6; }
body.no-raion-lines path.raion:not(.city) { stroke: none; }

.oblast-label { background: none; border: 0; box-shadow: none; padding: 0; text-align: center; white-space: nowrap;
  color: var(--label); font: 500 13px/1.2 var(--body); text-shadow: 0 0 4px var(--label-halo), 0 1px 2px var(--label-halo); }
.oblast-label::before { display: none; }
.oblast-label .n { display: block; }
.oblast-label .t { display: table; margin: 2px auto 0; padding: 1px 7px; border-radius: 6px; background: var(--panel-solid); color: var(--text); text-shadow: none;
  font: 500 12px/1.4 var(--display); font-variant-numeric: tabular-nums; }
body.no-labels .oblast-label { display: none; }
.leaflet-tooltip.raion-tip { background: var(--panel-solid); color: var(--text); border: 1px solid var(--line); box-shadow: none; }
.leaflet-tooltip.raion-tip::before { display: none; }

/* ---------- плаваючі елементи ---------- */
.rail, .dock, .legend, .sheet, .chip, .chips > * { background: var(--panel); border: 1px solid var(--line); }

/* зліва вгорі: назва, час, лічильники */
.info { position: absolute; z-index: 1000; top: var(--edge); left: var(--edge); display: grid; justify-items: start; gap: 8px; max-width: min(520px, calc(100% - 90px)); }
.info-brand { font: 700 19px/1.2 var(--display); color: var(--text); text-decoration: none; letter-spacing: -0.01em; text-shadow: 0 0 8px var(--bg); }
.chip { padding: 5px 11px; border-radius: 9px; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips > * { display: flex; align-items: center; gap: 8px; padding: 7px 12px 7px 9px; border-radius: 11px; color: var(--text);
  font: 500 17px/1 var(--display); font-variant-numeric: tabular-nums; }
.chips > * svg { width: 24px; height: 24px; stroke: none; }
.chips > * small { font: 400 13px/1 var(--body); color: var(--muted); }
.chips .alerts i { width: 10px; height: 10px; margin: 0 3px; border-radius: 50%; background: var(--ok); }
.chips .alerts[data-state="red"] i { background: var(--alarm-text); }
.chips .alerts[data-state="yellow"] i { background: var(--amber-text); }

/* справа: панель кнопок */
.rail { position: absolute; z-index: 1000; top: var(--edge); right: var(--edge); display: flex; flex-direction: column; padding: 4px 0; border-radius: var(--radius); }
.rail button, .rail a { display: grid; place-items: center; width: 44px; height: 40px; border: 0; background: none; color: var(--muted); cursor: pointer; }
.rail button:hover, .rail a:hover { color: var(--text); }
.rail button[aria-pressed="true"] { color: var(--accent); }
.rail svg { width: 21px; height: 21px; }
.rail .sep { height: 1px; margin: 4px 10px; background: var(--line); }

.legend-src { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); }
.legend-src a { color: inherit; }

.legend { position: absolute; z-index: 900; right: var(--edge); bottom: var(--edge); padding: 12px 14px; border-radius: var(--radius); font-size: 13px; }
.legend-body ul:first-child { margin-top: 8px; }
.legend ul + ul { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.legend li { display: flex; align-items: center; gap: 8px; padding: 2px 0; }
.legend svg { width: 16px; height: 16px; stroke: none; }
.sw { flex: none; width: 13px; height: 13px; border-radius: 3px; background: var(--land); border: 1px solid var(--oblast-line); }
.sw[data-state="red"] { background: var(--red); }
.sw[data-state="yellow"] { background: var(--yellow); }
.sw[data-state="long"] { background: var(--long); }

.dock { position: absolute; z-index: 1000; left: 50%; bottom: var(--edge); translate: -50% 0; display: flex; gap: 2px; padding: 5px; border-radius: 18px; }
.dock button { display: grid; justify-items: center; gap: 3px; min-width: 70px; padding: 7px 8px 6px; border: 0; border-radius: 13px; background: none; color: var(--muted); cursor: pointer; font-size: 12px; }
.dock button:hover { color: var(--text); }
.dock button[aria-pressed="true"] { background: var(--red); color: #fff; }
.dock svg { width: 21px; height: 21px; }

/* ---------- бічна панель ---------- */
.sheet { position: absolute; z-index: 1100; top: var(--edge); right: calc(var(--edge) + 56px); bottom: calc(var(--edge) + 72px); width: min(390px, calc(100% - var(--edge) * 2));
  display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; }
.sheet header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.sheet h2 { font: 500 16px/1.3 var(--display); letter-spacing: -0.01em; }
.sheet header button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 9px; background: none; color: var(--muted); cursor: pointer; }
.sheet header button:hover { color: var(--text); }
.sheet header svg { width: 20px; height: 20px; }
.sheet-body { flex: 1; overflow: auto; padding: 6px 16px 18px; }
.sheet h3 { margin: 18px 0 6px; font: 400 13px/1.4 var(--body); color: var(--muted); }
.sheet p { margin-top: 8px; }
.sheet .hint { color: var(--muted); font-size: 13px; }

.rows > li, .rows > button { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 2px 10px; align-items: baseline;
  width: 100%; padding: 11px 0; border: 0; border-top: 1px solid var(--line); background: none; text-align: left; }
.rows > button { cursor: pointer; }
.rows > button:hover .name { color: var(--accent); }
.rows > :first-child { border-top: 0; }
.rows .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--land); translate: 0 1px; }
.rows .dot[data-state="red"] { background: var(--red); }
.rows .dot[data-state="yellow"] { background: var(--yellow); }
.rows .dot[data-state="long"] { background: var(--long); }
.rows .name { font-weight: 600; }
.rows .time { font: 500 13px/1.3 var(--display); font-variant-numeric: tabular-nums; }
.rows .sub { grid-column: 2 / 4; color: var(--muted); font-size: 13px; }
.rows .mine { color: var(--accent); }

.figures { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 10px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.figures div { padding: 12px 14px; background: var(--panel-solid); }
.figures strong { display: block; font: 500 22px/1.15 var(--display); font-variant-numeric: tabular-nums; }
.figures span { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.figures .wide { grid-column: 1 / 3; }

.pairs li { display: flex; align-items: center; gap: 8px; padding: 5px 0; }
.pairs li b { margin-left: auto; font-variant-numeric: tabular-nums; }
.pairs svg { width: 18px; height: 18px; stroke: none; flex: none; }
.pairs .state { width: 8px; height: 8px; border-radius: 50%; background: var(--alarm-text); flex: none; }
.pairs .state.on { background: var(--ok); }
.pairs span { margin-left: auto; color: var(--muted); font-size: 13px; }

.seg { display: flex; gap: 2px; margin-top: 10px; padding: 3px; border: 1px solid var(--line); border-radius: 11px; }
.seg button { flex: 1; padding: 7px 8px; border: 0; border-radius: 8px; background: none; color: var(--muted); cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--panel-solid); color: var(--text); box-shadow: inset 0 0 0 1px var(--line); }

.log li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 0 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.log li:first-child { border-top: 0; }
.log time { color: var(--muted); font-variant-numeric: tabular-nums; }
.log .who { color: var(--muted); font-size: 12px; }
.log .txt { white-space: pre-line; overflow-wrap: anywhere; }
.log .start { color: var(--alarm-text); }
.log .warn { color: var(--amber-text); }
.log .end { color: var(--ok); }

.palettes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.palettes button { padding: 0 0 6px; border: 1px solid var(--line); border-radius: 11px; background: none; cursor: pointer; overflow: hidden; font-size: 13px; color: var(--muted); }
.palettes button[aria-pressed="true"] { border-color: var(--accent); color: var(--text); box-shadow: 0 0 0 1px var(--accent); }
.palettes i { display: grid; grid-template-columns: 2fr 1fr 1fr; height: 40px; margin-bottom: 6px; }
.palettes i span:nth-child(1) { background: var(--land); }
.palettes i span:nth-child(2) { background: var(--yellow); }
.palettes i span:nth-child(3) { background: var(--red); }
.palettes i { background: var(--bg); padding: 7px; gap: 2px; }

.opts label { display: flex; align-items: center; gap: 10px; padding: 8px 0; cursor: pointer; }
.opts input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--red); }
.opts select { width: 100%; margin-top: 4px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-solid); }

/* ---------- цілі ---------- */
.target .rot { width: 100%; height: 100%; transition: transform 0.6s; }
.target svg { width: 100%; height: 100%; stroke: none; overflow: visible; }
.target.inactive { opacity: 0.35; }
.target.boxed .rot { padding: 3px; border-radius: 8px; background: #101623; border: 2px solid #fff; }
.target.boxed svg { filter: none; }
.target .qty { position: absolute; top: -6px; right: -12px; padding: 0 4px; border-radius: 8px; background: #e5484d; color: #fff; font-size: 10px; font-weight: 700; line-height: 14px; }
body.no-targets .leaflet-marker-pane .target { display: none; }

.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--panel-solid); color: var(--text); }
.leaflet-popup-content { margin: 10px 12px; font-size: 13px; }
.leaflet-popup-content b { display: block; margin-bottom: 4px; font-size: 14px; }
.leaflet-popup-content .row { color: var(--muted); }
.leaflet-container a.leaflet-popup-close-button { color: var(--muted); }

@media (max-width: 760px) {
  .legend { display: none; }
  .dock { left: var(--edge); right: var(--edge); translate: none; justify-content: space-between; }
  .dock button { min-width: 0; flex: 1; padding: 8px 2px; }
  .dock span { display: none; }
  .rail button, .rail a { width: 40px; height: 36px; }
  .chips > * { padding: 6px 9px 6px 7px; font-size: 15px; }
  .chips > * svg { width: 20px; height: 20px; }
  .sheet { top: auto; left: 0; right: 0; bottom: 0; width: auto; height: 72%; border-radius: var(--radius) var(--radius) 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  path.raion, .target .rot { transition: none; }
}

/* мова */
.rail .lang { font: 600 12px/1 var(--body); letter-spacing: 0.02em; }
.rail .lang::before { content: ""; }
.rail button.lang { height: 38px; }

/* супутник: знімок під напівпрозорими районами */
body.sat #map, body.sat .leaflet-container { background: #0a0f18; }
body.sat path.raion { fill-opacity: 0; stroke: rgba(255, 255, 255, 0.28); stroke-width: 0.7; }
body.sat path.raion[data-state="red"] { fill: #e0382c; fill-opacity: 0.5; }
body.sat path.raion[data-state="yellow"] { fill: #f2b91f; fill-opacity: 0.45; }
body.sat path.raion[data-state="long"] { fill: #7a1f2e; fill-opacity: 0.5; }
body.sat path.oblast-line { stroke: rgba(255, 255, 255, 0.75); stroke-width: 1.3; }
body.sat .oblast-label { color: #fff; text-shadow: 0 0 4px #000, 0 1px 3px #000, 0 0 10px #000; }
body.sat.no-raion-lines path.raion:not(.city) { stroke: none; }

/* назад до стрічки */
.info-top { display: flex; align-items: center; gap: 12px; }
.back-btn { display: flex; align-items: center; gap: 4px; padding: 6px 12px 6px 7px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--panel); color: var(--text); text-decoration: none; font-weight: 500; }
.back-btn:hover { border-color: var(--accent); }
.back-btn svg { width: 18px; height: 18px; }

.chips button { cursor: pointer; }

.search { width: 100%; margin: 8px 0 6px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-solid); }
.search::placeholder { color: var(--muted); }
.log { margin-top: 8px; }

body.far .oblast-label .n { display: none; } /* на дрібному масштабі лишаються тільки таймери */
@media (max-width: 760px) { .oblast-label { font-size: 11px; } }

/* назви міст: один шрифт для всіх, чітка обвідка замість розмитої тіні */
.place { width: 0 !important; height: 0 !important; }
.place i { position: absolute; left: -3px; top: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--label); box-shadow: 0 0 0 1.5px var(--label-halo); }
.place span { position: absolute; left: 8px; top: -9px; white-space: nowrap; color: var(--label);
  font: 500 12.5px/18px var(--body); letter-spacing: 0.01em;
  -webkit-text-stroke: 3px var(--label-halo); paint-order: stroke fill; -webkit-font-smoothing: antialiased; }
body.sat .place span { color: #fff; -webkit-text-stroke-color: rgba(0, 0, 0, 0.85); }
body.sat .place i { background: #fff; box-shadow: 0 0 0 1.5px #000a; }
.leaflet-zoom-anim .place { opacity: 0; }

/* полігони видно й за межами полотна SVG: без порожнечі під час перетягування */
.leaflet-pane > svg { overflow: visible; }

/* без рамки фокуса навколо району після кліку */
.leaflet-container path, .leaflet-container path:focus, .leaflet-container path:focus-visible,
.leaflet-container .leaflet-interactive:focus { outline: none; }

/* ---------- основа «Атлас»: світла підкладка, напівпрозорі зони, плашки під цілями ---------- */
body.live #map, body.live .leaflet-container { background: #e6e9ee; }
body.live .info-brand { color: #14213d; text-shadow: 0 0 6px #fff, 0 0 2px #fff; }
body.live path.raion { fill-opacity: 0; stroke: rgba(176, 52, 44, 0.3); stroke-width: 0.7; }
body.live path.raion[data-state="red"] { fill: #de3a2e; fill-opacity: 0.36; }
body.live path.raion[data-state="yellow"] { fill: #f0932b; fill-opacity: 0.34; }
body.live path.raion[data-state="long"] { fill: #de3a2e; fill-opacity: 0.2; }
body.live path.oblast-line { stroke: #c2372d; stroke-width: 1.3; }
body.live path.my-region { stroke: #14213d; }
body.live.no-raion-lines path.raion:not(.city) { stroke: none; }
body.live .oblast-label .n { display: none; } /* назви вже є на підкладці, лишаються тільки таймери */
body.live .sw { background: transparent; border-color: #c2372d; }
body.live .sw[data-state="red"] { background: rgba(222, 58, 46, 0.6); }
body.live .sw[data-state="yellow"] { background: rgba(240, 147, 43, 0.6); }
body.live .sw[data-state="long"] { background: rgba(222, 58, 46, 0.3); }

.target .tag { display: none; }
body.tags .target .tag { display: block; position: absolute; left: 50%; top: calc(100% + 3px); translate: -50% 0; white-space: nowrap;
  padding: 1px 7px 2px; border-radius: 4px; background: #14213d; color: #fff; box-shadow: inset 0 -2px 0 #de3a2e;
  font: 600 10.5px/15px var(--body); letter-spacing: 0.02em; }
body.tags .target .qty { display: none; }
body.live .target.boxed .rot { background: #14213d; }

.live-clock { display: none; }
body.clock .live-clock { display: block; position: absolute; z-index: 1000; top: var(--edge); left: 50%; translate: -50% 0; text-align: center;
  padding: 8px 22px 9px; border-radius: 12px; background: #14213d; color: #fff; box-shadow: inset 0 -3px 0 #de3a2e, 0 6px 20px rgba(20, 33, 61, 0.25); }
.live-clock time { display: block; font: 700 30px/1.1 var(--display); font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }
.live-clock p { display: flex; gap: 10px; justify-content: center; margin-top: 3px; font-size: 12px; color: #b9c4dc; white-space: nowrap; }
.live-clock #liveBrand { font: 700 12px/1.5 var(--display); color: #fff; }
@media (max-width: 900px) { body.clock .live-clock { display: none; } }

path.raion { cursor: pointer; }

/* курс цілі й пункт призначення (після наближення) */
path.course { fill: none; stroke: var(--label); stroke-width: 1.6; stroke-dasharray: 7 7; stroke-linecap: round; opacity: 0.9; }
body.live path.course { stroke: #14213d; }
body.sat path.course { stroke: #fff; }
body.no-targets path.course { display: none; }
.target .to { display: none; }
body.near .target .to { display: block; position: absolute; left: calc(100% + 7px); top: 50%; translate: 0 -50%; white-space: nowrap;
  padding: 2px 9px 3px; border-radius: 7px; background: #14213d; color: #fff; font: 600 12px/16px var(--body); }

body.live .oblast-label .t, body.sat .oblast-label .t { background: #14213d; color: #fff; }


/* легенда: заголовок зі стрілкою згортає й розгортає список */
body.no-legend .legend { display: none; }
.legend-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 0; border: 0; background: none;
  color: var(--text); font: 500 13px/1.3 var(--display); cursor: pointer; }
.legend .legend-head svg { width: 26px; height: 26px; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-solid);
  fill: none; stroke: var(--text); stroke-width: 2; transition: rotate 0.2s; }
.legend-head:hover svg { border-color: var(--accent); stroke: var(--accent); }
body.legend-closed .legend-head svg { rotate: 180deg; }
body.legend-closed .legend-body { display: none; }
body.legend-closed .legend { padding: 9px 14px; }

/* панель режимів непрозора: крізь неї не має просвічувати мапа */
.sheet { background: var(--panel-solid); }

/* телефон, загальний вигляд країни: значки менші й без підписів, інакше вони зливаються в пляму */
@media (max-width: 760px) {
  body.overview .target .tag, body.overview .target .to { display: none; }
  body.overview.tags .target .qty { display: block; }
  body.overview .target svg { scale: 0.72; }
  body.overview .target.boxed .rot { scale: 0.72; }
}

/* ---------- доступ через Telegram ---------- */
.gate { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 16px;
  background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(6px); }
.gate[hidden] { display: none; }
.gate-card { max-width: 360px; text-align: center; background: var(--panel-solid); border: 1px solid var(--line);
  border-radius: 18px; padding: 28px 24px 24px; }
.gate-card img { display: block; margin: 0 auto 14px; border-radius: 12px; }
.gate-card h1 { font: 600 19px/1.3 var(--display, inherit); margin: 0 0 8px; }
.gate-card p { margin: 0; color: var(--muted); }
.gate-btn { display: inline-block; margin-top: 18px; padding: 10px 18px; border-radius: 10px; text-decoration: none;
  background: var(--accent); color: var(--bg); font-weight: 600; }
body.tg #fullscreen { display: none; }

.gate-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.gate-actions .gate-btn { margin-top: 0; }
.gate-actions [hidden] { display: none; }
.gate-btn.quiet { background: none; color: var(--text); border: 1px solid var(--line); }
