/* bitboinc — sakura ormanı temalı görünüm (Bootstrap 3.3.7 üzerine).
   Bilinçli olarak AÇIK/KOYU ayrımı yok — tek tasarım her koşulda kullanılır. */

:root {
  --bg:          #fbf5ea;
  --bg-alt:      #f3e7d3;
  --surface:     #fffaf2;
  --text:        #3a2d1f;
  --text-muted:  #7d6b54;
  --border:      #e4d3b3;

  --brand-dark:  #2b1d10;
  --brand-dark-2:#3c2a17;

  --accent:      #b07642;
  --accent-hi:   #c28c56;
  --accent-lo:   #8a5c30;
  --accent-soft: #e8dac2;

  --success:     #6b8048;
  --danger:      #a04b3d;
  --warning:     #b07642;
  --info:        #7d7093;
}

/* ---------- alternate colour themes (picked from the navbar, kept in
   localStorage as bitboinc:theme, applied pre-paint by bitboinc-theme.js —
   same mechanism as Aster's site themes) ---------- */

:root[data-theme="light"] {
  --bg: #f4f5ff; --bg-alt: #e8eaff; --surface: #ffffff;
  --text: #15183a; --text-muted: #5a6190; --border: #d9dcf5;
  --brand-dark: #1c1f45; --brand-dark-2: #262a5c;
  --accent: #6a4fe0; --accent-hi: #8468ea; --accent-lo: #5238b8; --accent-soft: #e3ddfb;
  --success: #0f9d92; --danger: #d1435a; --warning: #d98b1a; --info: #4d6fd9;
}

:root[data-theme="paper"] {
  --bg: #f7f3ea; --bg-alt: #efe8d8; --surface: #fffdf7;
  --text: #2b2418; --text-muted: #6f6350; --border: #e0d6bf;
  --brand-dark: #2b2418; --brand-dark-2: #3a3020;
  --accent: #a0522d; --accent-hi: #b56a41; --accent-lo: #874323; --accent-soft: #ecdfc8;
  --success: #2e7d5b; --danger: #a0402d; --warning: #c08a1e; --info: #4d7d8a;
}

:root[data-theme="sakura"] {
  --bg: #fff5f8; --bg-alt: #ffe6ee; --surface: #ffffff;
  --text: #3a1d2c; --text-muted: #8a5a70; --border: #f3cfdc;
  --brand-dark: #3a1d2c; --brand-dark-2: #4e2739;
  --accent: #e0559a; --accent-hi: #ea77ae; --accent-lo: #c23f80; --accent-soft: #fbe0ec;
  --success: #7c9e5a; --danger: #d1435a; --warning: #f2a93b; --info: #7c5cd6;
}

:root[data-theme="forest"] {
  --bg: #07130c; --bg-alt: #0d2216; --surface: #0f2a1a;
  --text: #eaf7ee; --text-muted: #9dc9a8; --border: #1c3b28;
  --brand-dark: #051009; --brand-dark-2: #0a1f13;
  --accent: #3ecf8e; --accent-hi: #5fe0a5; --accent-lo: #2fa873; --accent-soft: #163d27;
  --success: #3ecf8e; --danger: #e0605a; --warning: #ffd166; --info: #6fb8d6;
}

:root[data-theme="ocean"] {
  --bg: #03111f; --bg-alt: #062038; --surface: #082742;
  --text: #e9f6ff; --text-muted: #8fbfe0; --border: #123655;
  --brand-dark: #020c17; --brand-dark-2: #06192b;
  --accent: #38bdf8; --accent-hi: #63cdfa; --accent-lo: #229bd4; --accent-soft: #0c3450;
  --success: #2dd4bf; --danger: #f06868; --warning: #f5c76b; --info: #38bdf8;
}

:root[data-theme="sunset"] {
  --bg: #1a0a14; --bg-alt: #2c1020; --surface: #34142a;
  --text: #fff1ea; --text-muted: #d9a48f; --border: #452038;
  --brand-dark: #140810; --brand-dark-2: #23101c;
  --accent: #ff6b6b; --accent-hi: #ff8b8b; --accent-lo: #e5504f; --accent-soft: #4a1f2e;
  --success: #6bce8a; --danger: #ff6b6b; --warning: #ffb347; --info: #ff8fb1;
}

:root[data-theme="ember"] {
  --bg: #120806; --bg-alt: #24100a; --surface: #2c130d;
  --text: #fff3ec; --text-muted: #d2a08a; --border: #3a1c12;
  --brand-dark: #0e0605; --brand-dark-2: #1c0d08;
  --accent: #ff7a1a; --accent-hi: #ff9647; --accent-lo: #e0640f; --accent-soft: #3d1d0f;
  --success: #7fc26a; --danger: #ff4d4d; --warning: #ffc247; --info: #e0a26a;
}

:root[data-theme="synth"] {
  --bg: #12062a; --bg-alt: #1f0a44; --surface: #240b4f;
  --text: #fdf2ff; --text-muted: #c79bdc; --border: #3a1568;
  --brand-dark: #0d0420; --brand-dark-2: #190836;
  --accent: #ff4fd8; --accent-hi: #ff7ce2; --accent-lo: #e02cbc; --accent-soft: #3a1050;
  --success: #4fffb0; --danger: #ff4f6b; --warning: #ffe600; --info: #00e5ff;
}

:root[data-theme="mono"] {
  --bg: #000000; --bg-alt: #111111; --surface: #0d0d0d;
  --text: #ffffff; --text-muted: #c8c8c8; --border: #3a3a3a;
  --brand-dark: #000000; --brand-dark-2: #1a1a1a;
  --accent: #ffd400; --accent-hi: #ffe14d; --accent-lo: #d4b000; --accent-soft: #2a2508;
  --success: #6bdc8a; --danger: #ff5c5c; --warning: #ffd400; --info: #9ad4ff;
}

:root[data-theme="retro"] {
  --bg: #031205; --bg-alt: #062009; --surface: #08260b;
  --text: #8dff9a; --text-muted: #4fbf5e; --border: #1f4a26;
  --brand-dark: #020d03; --brand-dark-2: #041607;
  --accent: #39ff14; --accent-hi: #6dff4c; --accent-lo: #2ad60d; --accent-soft: #103d16;
  --success: #39ff14; --danger: #ff5c5c; --warning: #ffe066; --info: #7fffb0;
}
:root[data-theme="retro"] body {
  font-family: "Consolas", "Lucida Console", ui-monospace, monospace !important;
}

/* ---------- theme picker (navbar dropdown) ---------- */

.bitboinc-theme-opt {
  display: flex !important;
  align-items: center;
  gap: 8px;
}
.bitboinc-theme-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.25);
  flex: none;
}

/* ---------- base ---------- */

html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

/* sticky footer: pin the copyright block to the bottom of the viewport
   on short pages instead of letting it float in the middle. */
html { height: 100%; }
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  padding-top: 16px;
}
body > .container-fluid:first-child {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.bitboinc-footer {
  margin-top: auto;
  padding-top: 24px;
}

.bitboinc-banner-wrap {
  position: relative;
  margin: 0 0 16px;
}
.bitboinc-banner {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 130px;
  object-fit: cover;
  object-position: center 40%;
  margin: 0;
  border: 4px solid var(--accent);
  border-radius: 8px;
}
.bitboinc-banner-title {
  position: absolute;
  left: 26px;
  bottom: 16px;
  margin: 0;
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: 1px;
  background: linear-gradient(90deg, var(--accent-hi), var(--accent), var(--accent-lo));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.bitboinc-scene {
  background: var(--brand-dark);
  border-radius: 10px;
  overflow: hidden;
  margin: 16px 0 24px;
  padding: 8px;
}
.bitboinc-scene-svg {
  display: block;
  width: 100%;
  height: auto;
}

a { color: var(--accent-lo); }
a:hover, a:focus { color: var(--accent-hi); text-decoration: underline; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--text);
  font-weight: 700;
}

hr { border-color: var(--border); }

::selection { background: var(--accent-soft); }

/* ---------- navbar / header ---------- */

.navbar,
.navbar-default,
.navbar-inverse {
  background: var(--brand-dark) !important;
  background-image: none !important;
  border: 3px solid var(--accent) !important;
  border-radius: 8px !important;
  margin: 0 0 20px !important;
}

.navbar-default .navbar-brand,
.navbar-inverse .navbar-brand,
.navbar-default .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li > a {
  color: #f2e2c6 !important;
}


.navbar-default .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a {
  background: var(--brand-dark-2) !important;
  color: #ffffff !important;
}

.navbar-default .navbar-toggle,
.navbar-inverse .navbar-toggle {
  border-color: var(--accent);
}
.navbar-default .navbar-toggle .icon-bar,
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: var(--accent-soft);
}

.bitboinc-level-badge {
  display: inline-block;
  padding: 6px 12px;
  margin: 10px 6px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff8ec;
  font-weight: 700;
  font-size: 12px;
  white-space: nowrap;
}

/* ---------- buttons ---------- */

.btn-default {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}
.btn-default:hover, .btn-default:focus {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--text);
}

.btn-primary {
  background: var(--accent) !important;
  border-color: var(--accent-lo) !important;
  color: #fff8ec !important;
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--accent-hi) !important;
  border-color: var(--accent-hi) !important;
}

.btn-success { background: var(--success) !important; border-color: var(--success) !important; }
.btn-danger  { background: var(--danger)  !important; border-color: var(--danger)  !important; }
.btn-warning { background: var(--warning) !important; border-color: var(--accent-lo) !important; }
.btn-info    { background: var(--info)    !important; border-color: var(--info)    !important; }

/* ---------- panels / cards ---------- */

.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(60, 42, 12, 0.06);
}

.panel-heading {
  background: var(--bg-alt) !important;
  color: var(--text) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 8px 8px 0 0 !important;
  font-weight: 700;
}

.panel-default > .panel-heading { background: var(--bg-alt); }

.well {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  box-shadow: none;
}

/* ---------- tables ---------- */

.table {
  background: var(--surface);
}
.table > thead > tr > th {
  background: var(--bg-alt);
  color: var(--text);
  border-bottom: 2px solid var(--border);
}
.table > tbody > tr > td,
.table > tbody > tr > th {
  border-top: 1px solid var(--border);
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background: var(--bg-alt);
}
.table-hover > tbody > tr:hover {
  background: var(--accent-soft);
}

/* ---------- forms ---------- */

.form-control {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  box-shadow: none;
}
.form-control:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

label { color: var(--text); }

/* ---------- alerts ---------- */

.alert-success { background: #eef3e3; border-color: var(--success); color: #3d5321; }
.alert-danger  { background: #f7e6e2; border-color: var(--danger);  color: #7a2a1f; }
.alert-warning { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
.alert-info    { background: #ece9f2; border-color: var(--info); color: #4a3f66; }

/* ---------- misc bootstrap bits ---------- */

.list-group-item {
  background: var(--surface);
  border-color: var(--border);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background: var(--accent);
  border-color: var(--accent-lo);
}

.pagination > li > a,
.pagination > li > span {
  color: var(--accent-lo);
  border-color: var(--border);
}
.pagination > .active > a,
.pagination > .active > span {
  background: var(--accent) !important;
  border-color: var(--accent-lo) !important;
}

.label-default { background: var(--text-muted); }
.label-primary { background: var(--accent); }
.label-success { background: var(--success); }
.label-danger  { background: var(--danger); }
.label-warning { background: var(--warning); }
.label-info    { background: var(--info); }

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--text);
  border-color: var(--border) var(--border) transparent;
}
.nav-tabs { border-bottom-color: var(--border); }

.breadcrumb { background: var(--bg-alt); }

.jumbotron {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.progress { background: var(--bg-alt); }
.progress-bar { background: var(--accent); }

code, pre {
  background: var(--bg-alt);
  color: var(--text);
}

/* footer text tends to be muted/small */
.footer, footer {
  color: var(--text-muted);
}

/* ---------- bootstrap contextual bg/text utilities (server_status.php etc.) ---------- */

.bg-primary { background-color: var(--bg-alt) !important; color: var(--text) !important; font-weight: 700; }
.bg-success { background-color: #eef3e3 !important; color: #3d5321 !important; }
.bg-danger  { background-color: #f7e6e2 !important; color: #7a2a1f !important; }
.bg-warning { background-color: var(--accent-soft) !important; color: var(--text) !important; }
.bg-info    { background-color: #ece9f2 !important; color: #4a3f66 !important; }

.text-primary { color: var(--accent-lo) !important; }
.text-success { color: var(--success) !important; }
.text-danger  { color: var(--danger) !important; }
.text-warning { color: var(--accent-lo) !important; }
.text-info    { color: var(--info) !important; }
.text-muted   { color: var(--text-muted) !important; }
