:root {
  --k-bg: #08090a;
  --k-bg-2: #0e1214;
  --k-bg-3: #151516;
  --k-panel: rgba(17, 19, 20, 0.94);
  --k-panel-2: rgba(25, 24, 22, 0.96);
  --k-panel-3: rgba(37, 29, 21, 0.9);
  --k-text: #f4e7c9;
  --k-muted: #a99d87;
  --k-dim: #736b5d;
  --k-gold: #d6a84f;
  --k-gold-2: #f1c96d;
  --k-red: #8f2c25;
  --k-red-2: #b94a3d;
  --k-green: #77b85b;
  --k-blue: #75a7bd;
  --k-purple: #9a6fd1;
  --k-line: rgba(236, 205, 142, 0.16);
  --k-line-2: rgba(236, 205, 142, 0.32);
  --k-shadow: rgba(0, 0, 0, 0.55);
  --k-radius-lg: 18px;
  --k-radius-md: 12px;
  --k-radius-sm: 8px;
  --k-font-display: Georgia, 'Times New Roman', serif;
  --k-font-ui: Georgia, 'Times New Roman', serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--k-text);
  background:
    radial-gradient(circle at 16% 12%, rgba(214, 168, 79, 0.13), transparent 22rem),
    radial-gradient(circle at 92% 0%, rgba(117, 167, 189, 0.08), transparent 26rem),
    linear-gradient(180deg, #08090a 0%, #0c0d0d 45%, #080706 100%);
  font-family: var(--k-font-ui);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .55;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.48), transparent 20%, transparent 80%, rgba(0,0,0,.5)),
    radial-gradient(circle at 50% -12rem, rgba(214,168,79,.07), transparent 36rem);
}

a { color: inherit; }
button, input, select { font: inherit; }

button, .k-button, .portal-card, .command-link, .k-tab {
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}

button:hover:not(:disabled), .k-button:hover, .portal-card:hover, .command-link:hover, .k-tab:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

button:active:not(:disabled), .k-button:active, .portal-card:active, .command-link:active, .k-tab:active {
  transform: translateY(1px) scale(.99);
  filter: brightness(.96);
}

.k-frame {
  position: relative;
  border: 1px solid var(--k-line);
  border-radius: var(--k-radius-md);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 3rem),
    var(--k-panel);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.55), 0 12px 28px var(--k-shadow);
}

.k-frame::before,
.k-frame::after {
  content: '';
  position: absolute;
  z-index: 2;
  width: 28px;
  height: 28px;
  pointer-events: none;
  background: url('/assets/ui/corner-gold.png') center / contain no-repeat;
  opacity: .62;
}

.k-frame::before { left: 4px; top: 4px; }
.k-frame::after { right: 4px; bottom: 4px; transform: rotate(180deg); }

.k-panel-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 12px;
  padding-bottom: 18px;
  border-bottom: 0;
  color: var(--k-gold-2);
  font-size: .96rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.k-panel-title::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 14px;
  pointer-events: none;
  background: url('/assets/ui/divider-gold.png') center / min(100%, 512px) 14px no-repeat;
  opacity: .58;
}

.k-panel-title small {
  color: var(--k-muted);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.k-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 9px 14px;
  border: 1px solid rgba(236,205,142,.28);
  border-radius: var(--k-radius-sm);
  color: var(--k-text);
  background: linear-gradient(180deg, #8f2c25, #5c1b17);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 18px rgba(0,0,0,.3);
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
}

.k-button.secondary {
  background: linear-gradient(180deg, rgba(58,53,45,.95), rgba(27,26,24,.95));
  color: var(--k-gold-2);
}

.k-button.gold {
  background: linear-gradient(180deg, #d6a84f, #8c5d19);
  color: #17100a;
}

.k-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid var(--k-line);
  border-radius: 999px;
  color: var(--k-gold-2);
  background: rgba(214,168,79,.1);
  font-size: .82rem;
  line-height: 1;
}

.k-pill.muted { color: var(--k-muted); background: rgba(255,255,255,.035); }
.k-pill.green { color: #a9da86; background: rgba(119,184,91,.12); }
.k-pill.red { color: #f0a099; background: rgba(143,44,37,.18); }


@media (pointer: fine) {
  html,
  body {
    cursor: url('/assets/ui/cursors/cursor-default.png') 4 4, auto !important;
  }

  body * {
    cursor: inherit !important;
  }

  a[href],
  area[href],
  button:not(:disabled),
  input[type="button"]:not(:disabled),
  input[type="submit"]:not(:disabled),
  input[type="reset"]:not(:disabled),
  input[type="checkbox"]:not(:disabled),
  input[type="radio"]:not(:disabled),
  input[type="range"]:not(:disabled),
  input[type="file"]:not(:disabled),
  input[type="number"]:not(:disabled),
  select:not(:disabled),
  label[for],
  summary,
  [role="button"]:not([aria-disabled="true"]),
  [onclick],
  [tabindex]:not([tabindex="-1"]),
  .k-button:not(:disabled),
  .portal-card,
  .command-link,
  .k-tab,
  .tab-button:not(:disabled),
  .copy-command {
    cursor: url('/assets/ui/cursors/cursor-pointer.png') 7 5, pointer !important;
  }

  button:disabled,
  input:disabled,
  select:disabled,
  .k-button:disabled,
  .tab-button:disabled,
  [disabled],
  [aria-disabled="true"] {
    cursor: not-allowed !important;
  }

  input[type="text"],
  input[type="search"],
  input[type="password"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  textarea,
  [contenteditable="true"] {
    cursor: text !important;
  }
}

/* 0.10.25a194k – jednotná ikona Korun a číselné inputy bez Windows kurzoru/spinneru */
.k-currency-icon {
  display: inline-block;
  width: 1.18em;
  height: 1.18em;
  object-fit: contain;
  image-rendering: pixelated;
  vertical-align: -0.2em;
  flex: 0 0 auto;
}

input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
