/* L2 Akamanah - identidade visual do painel do jogador (sobrepoe bootstrap/icpnetworks.css) */
:root {
	--ak-bg: #14100c;
	--ak-bg-2: #1c1610;
	--ak-card: #241b13;
	--ak-card-head: #2e2217;
	--ak-line: #4a3a22;
	--ak-gold: #f2c75c;
	--ak-gold-deep: #b8862b;
	--ak-ember: #b5441c;
	--ak-text: #eadfc8;
	--ak-muted: #a89a80;
	--ak-ok: #6fcf6f;
	--ak-bad: #ff6b5b;
}

html { -webkit-text-size-adjust: 100%; }
body {
	background: var(--ak-bg);
	color: var(--ak-text);
	font-size: 1rem;
	line-height: 1.5;
	background-image: radial-gradient(ellipse at top, rgba(181, 68, 28, .18), transparent 55%);
	background-attachment: fixed;
}
a { color: var(--ak-gold); }
a:hover { color: #ffe39a; }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5, .navbar-brand, .card-header, .sidebar-heading, .menu-title {
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: .02em;
}
h1, .h2 { color: var(--ak-gold); }
.border-bottom, .border-top { border-color: var(--ak-line) !important; }
hr { border-top-color: var(--ak-line); }
.text-muted { color: var(--ak-muted) !important; }

/* Barra superior */
.navbar.bg-dark, header.navbar { background: #0d0a07 !important; border-bottom: 1px solid var(--ak-line); }
.navbar-brand {
	background: linear-gradient(180deg, #2a1d10, #170f08) !important;
	color: var(--ak-gold) !important;
	font-size: 1.05rem;
	box-shadow: inset -1px 0 0 var(--ak-line);
}
.form-control-dark {
	background: #1b140d !important;
	border: 1px solid var(--ak-line) !important;
	color: var(--ak-text) !important;
}
.form-control-dark::placeholder { color: var(--ak-muted); }
.navbar .btn-secondary {
	background: #2a1d10;
	border-color: var(--ak-line);
	color: var(--ak-gold);
}
.navbar .nav-link { color: var(--ak-text) !important; }
.navbar .nav-link:hover { color: var(--ak-gold) !important; }
.dropdown-menu { background: var(--ak-card); border: 1px solid var(--ak-line); }
.dropdown-item { color: var(--ak-text); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ak-card-head); color: var(--ak-gold); }

/* Menu lateral */
.sidebar, .bg-light.sidebar {
	background: var(--ak-bg-2) !important;
	box-shadow: inset -1px 0 0 var(--ak-line);
}
.sidebar .nav-link { color: var(--ak-text); padding: .6rem 1rem; border-radius: 6px; margin: 1px 8px; }
.sidebar .nav-link .feather { color: var(--ak-gold-deep); }
.sidebar .nav-link:hover { background: var(--ak-card-head); color: var(--ak-gold); }
.sidebar .nav-link.active { color: var(--ak-gold); background: var(--ak-card-head); box-shadow: inset 3px 0 0 var(--ak-gold); }
.menu-title, .sidebar-heading {
	background: transparent !important;
	color: var(--ak-muted);
	border-bottom: 1px solid var(--ak-line);
	margin: .75rem 8px 0;
	padding: .25rem .5rem;
}

/* Cartoes e tabelas */
.card {
	background: var(--ak-card);
	border: 1px solid var(--ak-line);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.card-header {
	background: var(--ak-card-head);
	border-bottom: 1px solid var(--ak-line);
	color: var(--ak-gold);
	font-weight: 600;
}
.card-body, .card-footer { color: var(--ak-text); }
.card-footer { background: var(--ak-card-head); border-top: 1px solid var(--ak-line); }
.list-group-item { background: var(--ak-card); border-color: var(--ak-line); color: var(--ak-text); }
.table {
	--bs-table-color: var(--ak-text);
	--bs-table-bg: transparent;
	--bs-table-border-color: var(--ak-line);
	--bs-table-striped-color: var(--ak-text);
	--bs-table-striped-bg: rgba(255, 255, 255, .045);
	--bs-table-hover-color: var(--ak-text);
	--bs-table-hover-bg: rgba(242, 199, 92, .09);
	--bs-table-active-color: var(--ak-text);
	color: var(--ak-text);
}
.table td, .table th { border-color: var(--ak-line); }
.table thead th { border-bottom: 2px solid var(--ak-gold-deep); color: var(--ak-gold); }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255, 255, 255, .03); }
.table-hover tbody tr:hover { background: rgba(242, 199, 92, .08); color: var(--ak-text); }
.thead-dark th, .thead-light th { background: var(--ak-card-head) !important; color: var(--ak-gold) !important; border-color: var(--ak-line) !important; }
.modal-content { background: var(--ak-card); border: 1px solid var(--ak-line); color: var(--ak-text); }
.modal-header, .modal-footer { border-color: var(--ak-line); }
.close { color: var(--ak-text); text-shadow: none; }

/* Formularios */
.form-control, .custom-select, select.form-control, textarea.form-control {
	background: #1b140d;
	border: 1px solid var(--ak-line);
	color: var(--ak-text);
	min-height: 44px;
	font-size: 16px; /* evita o zoom automatico do iPhone */
}
.form-control:focus, .custom-select:focus {
	background: #1b140d;
	color: var(--ak-text);
	border-color: var(--ak-gold);
	box-shadow: 0 0 0 .2rem rgba(242, 199, 92, .22);
}
.form-control::placeholder { color: var(--ak-muted); }
.form-floating > label, label { color: var(--ak-muted); }
.input-group-text { background: var(--ak-card-head); border-color: var(--ak-line); color: var(--ak-gold); }

/* Botoes */
.btn { min-height: 44px; border-radius: 8px; font-weight: 600; }
.btn-primary {
	background: linear-gradient(180deg, var(--ak-gold), var(--ak-gold-deep));
	border-color: var(--ak-gold-deep);
	color: #1a1208;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
	background: linear-gradient(180deg, #ffe39a, var(--ak-gold));
	border-color: var(--ak-gold);
	color: #1a1208;
}
.btn-success { background: #2f6b2f; border-color: #2f6b2f; }
.btn-danger { background: var(--ak-ember); border-color: var(--ak-ember); }
.btn-secondary { background: #3a2b1a; border-color: var(--ak-line); color: var(--ak-text); }
.btn-outline-primary { color: var(--ak-gold); border-color: var(--ak-gold-deep); }
.btn-outline-primary:hover { background: var(--ak-gold); color: #1a1208; }
.btn:focus-visible, a:focus-visible, .form-control:focus-visible { outline: 2px solid var(--ak-gold); outline-offset: 2px; }

/* Avisos, progresso, selos */
.alert { border-radius: 8px; }
.progress { background: #120d08; border: 1px solid var(--ak-line); height: 1.1rem; }
.progress-bar { background-color: var(--ak-gold-deep); color: #1a1208; }
.badge-primary { background: var(--ak-gold-deep); color: #1a1208; }
span[style*="#008000"] { color: var(--ak-ok) !important; text-shadow: none !important; }
span[style*="#f31313"] { color: var(--ak-bad) !important; text-shadow: none !important; }

/* Imagens e tabelas nunca estouram a tela */
img, video, iframe { max-width: 100%; height: auto; }
.table-responsive, main { overflow-x: auto; }
main { padding-bottom: 3rem; }

/* Telas de login, cadastro e recuperacao */
.form-signin {
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	padding: 24px 16px 32px;
}
.form-signin form {
	background: var(--ak-card);
	border: 1px solid var(--ak-line);
	border-radius: 14px;
	padding: 24px 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
}
.form-signin img { max-width: 100%; height: auto; }
.form-signin .form-floating > .form-control { background: #1b140d; }
.form-signin .h3, .form-signin h1 { color: var(--ak-gold); font-size: 1.35rem; }
.form-signin a { color: var(--ak-gold); }
.form-signin .text-muted { color: var(--ak-muted) !important; }

/* Celular */
@media (max-width: 767.98px) {
	body { font-size: 1rem; }
	.navbar-brand { font-size: .95rem; padding: .65rem 3.5rem .65rem 1rem; }
	header.navbar { flex-wrap: wrap; }
	header.navbar form.nav { order: 3; width: 100%; padding: 6px 10px; }
	header.navbar .btn-group { order: 4; margin: 6px 10px !important; }
	header.navbar .navbar-nav { order: 5; padding: 0 10px !important; margin-left: auto; }
	.sidebar { top: 0; position: static; padding-top: 0; }
	main { padding-left: 12px; padding-right: 12px; }
	.card { margin-bottom: 14px !important; }
	.card-body .row > .col { flex: 0 0 50%; max-width: 50%; }
	.d-flex.justify-content-between h1, h1.h2 { font-size: 1.5rem; }
	.table { font-size: .9rem; }
	.table-responsive-auto table { display: block; overflow-x: auto; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ---- Admin do jogo (engine/akadmin) ---- */
.ak-pills { display: flex; gap: 6px; overflow-x: auto; padding: 4px 0 14px; margin-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.ak-pill { flex: 0 0 auto; padding: .45rem .85rem; min-height: 40px; display: inline-flex; align-items: center; border: 1px solid var(--ak-line); border-radius: 999px; background: var(--ak-card); color: var(--ak-text); text-decoration: none; font-size: .92rem; white-space: nowrap; }
.ak-pill:hover { color: var(--ak-gold); border-color: var(--ak-gold-deep); }
.ak-pill.active { background: linear-gradient(180deg, var(--ak-gold), var(--ak-gold-deep)); color: #1a1208; border-color: var(--ak-gold-deep); font-weight: 600; }
.ak-stat { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 10px; padding: 14px 16px; height: 100%; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.ak-stat-v { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; line-height: 1.1; color: var(--ak-gold); }
.ak-stat-l { color: var(--ak-text); margin-top: 2px; }
.ak-stat-s { color: var(--ak-muted); font-size: .8rem; margin-top: 2px; }
.ak-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 4px; vertical-align: baseline; }
.ak-on { background: var(--ak-ok); box-shadow: 0 0 6px var(--ak-ok); }
.ak-off { background: var(--ak-bad); box-shadow: 0 0 6px var(--ak-bad); }
.form-label { margin-bottom: .25rem; font-size: .9rem; }
.form-text { color: var(--ak-muted); }
.alert-success { background: #1d3320; border-color: #2f6b2f; color: #bfe8bf; }
.alert-danger { background: #3b1a14; border-color: #7a2c1c; color: #ffc9bf; }
.alert-warning { background: #3a2c10; border-color: #8a6a1c; color: #ffe3a0; }
.alert-info { background: #1a2a33; border-color: #2c5a73; color: #bfe0f2; }
.alert-secondary { background: var(--ak-card); border-color: var(--ak-line); color: var(--ak-text); }
.alert code, .card code, p code { color: var(--ak-gold); background: rgba(0, 0, 0, .3); padding: .1rem .35rem; border-radius: 4px; }
details > summary { cursor: pointer; padding: 6px 0; color: var(--ak-gold); }
.badge.bg-secondary { background: #4a3a22 !important; }
@media (max-width: 767.98px) {
	.ak-stat-v { font-size: 1.5rem; }
	form.d-inline { display: inline-block !important; }
}

/* Login/registro: placeholder invisivel (o label flutuante faz o papel) e texto digitado abaixo do label */
.form-floating > .form-control::placeholder { color: transparent !important; }
.form-floating > .form-control { height: 3.75rem; min-height: 3.75rem; padding: 1.7rem .75rem .5rem; line-height: 1.25; }
.form-floating > label { color: var(--ak-muted); }
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control:-webkit-autofill ~ label { opacity: .8; transform: scale(.8) translateY(-.55rem) translateX(.15rem); }
