/* Saber cam: black canvas, smoked glass and restrained moonlit violet. */
:root{
  color-scheme:dark;
  --bg:#050507;
  --panel:#111018;
  --panel2:#1a1824;
  --line:#a9a2bc30;
  --text:#f4f1f8;
  --muted:#aaa4b7;
  --violet:#c2aceb;
  --purple:#a88ad9;
  --mint:#a9d4c1;
  --gold:#d7c49d;
  --radius:8px;
}
html,body{background:#050507;color:var(--text)}
body{background-image:none}
body::before{
  background:repeating-linear-gradient(90deg,transparent 0 95px,#beb2e00a 96px 97px);
  opacity:.35;
}
body::after{background:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#c9b5f2}
.page,.shell,.landing,.odyssey-landing{background:transparent}
.sidebar{background:#0c0b11e8;border-right-color:#c8bbe72b;box-shadow:inset -1px 0 #ffffff06;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.sidebar .panel-brand{border-bottom-color:#e0d8f01c}
.panel-brand img{border-radius:6px;box-shadow:0 0 0 1px #d8c6f04a}
.panel-brand strong,.wordmark,.page-title h1,.panel-heading h2{color:#f5f2fa}
.brand-suffix,.wordmark>span{color:#bca5e7}
.panel-brand small,.nav-label,.breadcrumbs{color:#948ba5}
.nav-link{color:#c0b9cd;border-radius:6px}
.nav-link .icon{color:#a79abf}
.nav-link:hover{background:#bfa8e211;color:#f8f5fc}
.nav-link.active{background:linear-gradient(90deg,#b69bdf27,#b69bdf08);color:#eee4ff;box-shadow:inset 2px 0 #c8abf3}
.nav-link.active .icon{color:#d2b8f5}
.sidebar-status{color:#b5a8c5;border-top-color:#d9c8ef1c}
.sidebar-status .dot,.sync-status .dot{background:#a9d4c1}
.topbar{background:#0b0a10ec;border-bottom-color:#cbb8e32b;box-shadow:inset 0 1px #ffffff08;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.preview-ribbon{background:#1c1726;color:#cbb9dc;border-bottom-color:#d2bce82b}
.breadcrumbs span,.profile-chip strong{color:#eee9f5}
.profile-chip{border-left-color:#e4dafa26}
.profile-chip small,.balance-chip>span{color:#a89cb7}
.balance-chip,.avatar{color:#e9def8}
.balance-chip .icon{color:#c6aced}
.avatar{background:#3b30523d;border-color:#d5bff04d;border-radius:6px}
.sync-status{color:#b6d7c5}
.page-title p,.panel-heading p,.muted,p{color:var(--muted)}
.eyebrow,.accent,.text-button,.greeting-dot{color:#c9b4ee}
.pill,.pill.green,.level-pill,.streak-label{background:#d4c0ed0c;border-color:#d4c0ed30;color:#e1d4f1}
.pill.green{color:#b9dcc5}
.button{background:#c8b3eb;border:1px solid #e1d2fa80;border-radius:6px;color:#17111e;box-shadow:inset 0 1px #fff6,0 6px 22px #ad86df1f}
.button:hover:not(:disabled){background:#e0d0fb;border-color:#efe5ff;box-shadow:0 8px 27px #a57cda30}
.button.secondary,.button.ghost{background:#d7c5ee0b;border-color:#d7c5ee35;color:#f0e8fa;box-shadow:inset 0 1px #fff1}
.button.secondary:hover:not(:disabled),.button.ghost:hover:not(:disabled){background:#d7c5ee19;border-color:#e3d2fc6b}
.button.danger{background:#4e2933;border-color:#91505b;color:#f7d8dc}
.icon-button{background:#d1bfea0a;border-color:#d1bfea2e;border-radius:6px;color:#e1d8ed}
.icon-button:hover{background:#d1bfea19}
.panel,.stat-card,.item-card,.animal-card,.team-slot,.feature,.reward-panel,.journey-panel,.huntbot-summary,.battle-start,.battle-result,.battle-empty,.owner-player,.hunt-catch,.box-reward,.huntbot-catch{
  background:linear-gradient(145deg,#252035b8,#111018eb 72%);
  border:1px solid #d6cdea23;
  border-top-color:#f3edfa42;
  border-radius:8px;
  box-shadow:inset 0 1px #ffffff0c,0 12px 32px #0004;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.panel-heading,.discoveries-panel .panel-heading,.journey-panel .panel-heading,.footnote{border-color:#e4d9f022}
.expedition-card{background:linear-gradient(90deg,#0b0913f0 0%,#1a1428cf 54%,#100d18a3 100%),url('/media/saber-forest.png') 65% 55%/cover;border-color:#cfbce75c;border-radius:8px}
.expedition-copy .eyebrow,.expedition-actions>span,.expedition-caption{color:#d7c0f0}
.expedition-copy .dot{background:#d8c3f1}
.expedition-copy h2,.reward-body h2,.stat-card strong{color:#f6f0fc}
.expedition-copy p,.stat-top,.stat-card small{color:#b8acc8}
.collection-facts,.tabs,.gem-chip,.mini-animal,.discovery-card,.huntbot-quote{background:#171420;border-color:#d2bfe72a}
.collection-fact+.collection-fact,.data-row,.leaderboard-row,.animal-footer,.team-slot .weapon{border-color:#d2bfe725}
.collection-fact strong,.animal-card h3,.item-card h3,.team-slot h3{color:#f1eaf9}
.fact-icon,.stat-card .icon,.stat-top .icon,.overview-gem strong{color:#cbb2e8}
.discovery-art{background:#1d1928;border-color:#d9c5ee2c}
.discovery-count,.discovery-rank,.animal-card .count{color:#d1b7ec}
.battle-invitation,.notice,.panel .notice,.team-help{background:#251d32;border-color:#ab8dd14a;color:#dbcde9}
.battle-invitation-icon,.battle-result-mark,.battle-empty-icon{background:#a583ce1b;color:#d0b5ef}
.battle-invitation-action,.leaderboard-row .place,.leaderboard-row .score{color:#decaf3}
.reward-top .eyebrow,.reward-reset,.overview-gem,.journey-label,.journey-label strong{color:#c9b6dc}
.progress-bar,.battle-health{background:#43384f}
.progress-bar>span,.progress-bar.sage>span,.battle-health>span{background:linear-gradient(90deg,#8d74bc,#dac2f0)}
.tabs button{color:#bdb0cf}

/* Yönetim alanı: oyun ekranından ayrı, kısa yolları belirgin çalışma alanı. */
.admin-nav-group{padding-top:16px;border-top:1px solid #d2bfe72a}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 25px;padding-bottom:14px;border-bottom:1px solid #d2bfe72a}
.admin-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:6px;color:#bdb0cf;font-size:12px;font-weight:600}
.admin-tabs a:hover{background:#d7c5ee0b;color:#f0e8fa}
.admin-tabs a.active{background:#c8b3eb16;border-color:#c8b3eb66;color:#f0e8fa}
.admin-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:23px}
.admin-section-card{position:relative;display:block;min-height:165px;padding:22px 23px 45px;border:1px solid #d6cdea35;border-top-color:#f3edfa55;border-radius:6px;background:linear-gradient(145deg,#252035b8,#111018eb 72%);transition:border-color .15s,transform .15s}
.admin-section-card:hover{border-color:#c8b3eb9c;transform:translateY(-2px)}
.admin-section-card h2{margin:16px 0 6px;color:#f5f2fa;font-size:18px}
.admin-section-card p{margin:0;color:#aaa4b7;font-size:12px}
.admin-section-arrow{position:absolute;right:22px;bottom:16px;color:#c8b3eb;font-size:21px}
@media(max-width:900px){.admin-section-grid{grid-template-columns:1fr}}
@media(max-width:600px){.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs a{justify-content:center;text-align:center}.admin-section-card{min-height:130px}}
.tabs button.active{background:#b697df28;color:#f0e5ff;box-shadow:inset 0 1px #ffffff14}
.toolbar input,.toolbar select,input,textarea,select{background:#0d0c13;border-color:#bba7d24a;color:#f2ecfa}
.toolbar input:focus,.toolbar select:focus,input:focus,select:focus,textarea:focus{border-color:#d4b7f3}
.animal-card:hover,.item-card:hover,.team-slot:hover,.feature:hover,.hunt-catch:hover,.battle-invitation:hover{border-color:#cba9ef;box-shadow:0 15px 38px #0007}
.leaderboard-row.self{background:#ae8ad523;color:#f0e3fd}
.audit-table th{background:#211b2d;color:#d9c7ee}
.audit-table td{border-color:#d8c6ef22;color:#e7ddec}
.hunt-stage{background:linear-gradient(120deg,#15101eeb,#0d0b14d9),url('/media/saber-forest.png') center/cover;border-color:#ae90d04f}
.hunt-stage .hunt-note,.hunt-meta,.hunt-meta strong{color:#ded1ea}
.battle-start,.battle-result,.battle-empty,.battle-animal{border-color:#c1aad838}
.battle-versus{background:#493459;border-color:#af8ecf;color:#f4e7ff}
dialog{background:#171320;border:1px solid #d1b8ec56;border-radius:9px;box-shadow:inset 0 1px #ffffff1c,0 28px 85px #000b}
dialog::backdrop{background:#020104df}
#toast{background:#20172cef;border-color:#bc9ee656;color:#f4eafc}
.tour-card{background:#20172b;border-color:#c6a9eb;color:#f5edfb}
.tour-focus{box-shadow:0 0 0 3px #c6a5eb,0 0 22px #b990e85e!important}
.hunt-experience.inline{background:#07060bea}
.hunt-experience.inline .hunt-glass{background:#1b1426;border-color:#b89cd654}
.hunt-experience.inline [data-hunt-tier]{color:#dcc3f4}

/* Public page uses the same materials, with a fully black site canvas. */
.ld-page{--ld-orange:#c8b0ec;--ld-cream:#f4f0f9;--ld-muted:#b3a9c2;background:#050507;color:#f4f0f9}
.ld-brand strong{color:#f8f4fc}.ld-brand small{color:#baa2dc}
.ld-nav{color:#c2b8ce}.ld-nav>a:not(.ld-nav-cta):hover{color:#f7efff}
.ld-nav-cta{background:#b697dd10;border-color:#c6ade94c;color:#e7d9f7}
.ld-nav-cta:hover{background:#b697dd22;border-color:#dec6ff}
.ld-hero{background:#09080e;border-color:#cfb8ec3c;box-shadow:0 28px 90px #000b}
.ld-hero-landscape{background:linear-gradient(90deg,#07060bed 0%,#080611dc 30%,#0b0715ad 56%,#09071038 100%),linear-gradient(0deg,#08070d 0%,transparent 35%),url('/media/saber-forest.png') center 48%/cover no-repeat;opacity:1}
.ld-hero:before{background:linear-gradient(0deg,#060509 1%,transparent 32%)}
.ld-eyebrow{color:#d9c1f2}.ld-eyebrow:before{background:#b998e5}
.ld-hero h1,.ld-section-heading h2,.ld-entry h2{color:#f7f2fc}
.ld-hero h1 em,.ld-section-heading h2 em{color:#cbb0f0}
.ld-hero-copy>p,.ld-section-heading>p,.ld-entry p{color:#c3b8cf}
.ld-button-main{background:#cbb8ed;color:#1a1421;box-shadow:inset 0 1px #fff8,0 10px 25px #9a71cd30}
.ld-button-main:hover{background:#e0d0f9;box-shadow:inset 0 1px #fff9,0 14px 34px #a47bda4a}
.ld-button-text{color:#e2d4f2}.ld-account-note{color:#b5a9c3}.ld-account-note .icon{color:#cbb5e8}
.ld-art-index{color:#e1c9fa}.ld-art-index small{color:#b9aac9}
.ld-hero-art:before{background:linear-gradient(90deg,transparent,#e2d2f78c)}
.ld-discovery{background:#15101edb;border-color:#cfb9ed7a;box-shadow:0 16px 38px #000a}
.ld-discovery span{color:#d0b4ee}.ld-discovery strong{color:#f7effe}.ld-discovery small{color:#b7a9c7}
.ld-hero-foot{background:#0b0911e9;border-top-color:#d3bfe547}.ld-hero-foot span{color:#b7acc5}.ld-hero-foot span+span{border-left-color:#d2bde52a}.ld-hero-foot b{color:#f4eafa}
.ld-feature{background:#16111d;border-color:#d2b9e83d}
.ld-feature:hover{border-color:#dac0f5;box-shadow:0 18px 42px #0009}
.ld-feature-number,.ld-feature-link{color:#d9c2f0}
.ld-feature h3{color:#f5ecfc}.ld-feature p{color:#beb0ca}
.ld-hunt{background:linear-gradient(0deg,#08070ee8 4%,#0a08149c 56%,#0a08116b),url('/media/saber-forest.png') 35% center/cover}
.ld-hunt p{color:#e5d8ee}
.ld-zoo{background:linear-gradient(135deg,#242030,#110f18)}
.ld-battle{background:linear-gradient(135deg,#211a2d,#100e17)}
.ld-battle-preview>strong,.ld-fighter b{color:#e3cef3}
.ld-fighter i{background:linear-gradient(90deg,#bb9cdd 84%,#473754 84%)}
.ld-fighter:last-child i{background:linear-gradient(90deg,#bb9cdd 58%,#473754 58%)}
.ld-entry{border-color:#d2bbe854;background:linear-gradient(90deg,#1b1624,#110f1a 72%,#0a0910)}
.ld-entry:before{background:#c6a5ed}
.ld-entry-steps{color:#ded0eb}.ld-entry-steps b{color:#d6bbf0}.ld-entry-steps span+span:before{color:#79658d}
.ld-entry-action{border-left-color:#dbc6f043;background:linear-gradient(90deg,#100d19e8,#0b0912bb),url('/media/saber-forest.png') center/cover}
.ld-entry-label{color:#d7bcee}.ld-entry-action small,.ld-footer{color:#b7a9c3}
.ld-footer a:hover{color:#f1dfff}

/* Privacy and consent share the same legible black-and-violet palette. */
.privacy-nav,.privacy-footer,.privacy-document section{border-color:#cfb9e638}
.privacy-document p,.privacy-document li,.privacy-gate-card p,.privacy-gate-card li{color:#c2b7d0}
.privacy-document a,.privacy-footer a,.privacy-gate-card a{color:#d8bdf5}
.privacy-document strong{color:#f2e9fa}
.privacy-document code{color:#e3d0f5;background:#2b2039}
.privacy-updated{color:#a89ab8!important}
.privacy-terms,.privacy-gate-card{background:#17121f;border-color:#c7a9e94d!important;border-radius:8px}
.privacy-gate-card h1{color:#f4ecfa}
.privacy-gate-note{border-left-color:#c39de7;color:#c7b8d5!important}
@media(max-width:760px){.ld-entry-action{border-left:0;border-top-color:#dbc6f043}}
@media(prefers-reduced-transparency:reduce){.panel,.stat-card,.animal-card,.sidebar,.topbar,.feature,.hunt-stage,dialog{background:#15121d;backdrop-filter:none;-webkit-backdrop-filter:none}}
