@font-face {
	font-family: roboto;
	src: url("roboto-regular.woff2") format("woff2")
}

@font-face {
	font-family: roboto-slab;
	src: url("roboto-slab-regular.woff2") format("woff2")
}

:root {
	--l: 36%;
	--cor-primaria: hsl(284, 91%, var(--l));
	--cor-primaria-fraca: hsla(284, 91%, var(--l), 0.2);
	--cor-primaria-opaca: hsla(284, 91%, var(--l), 0.1);
	--cor-secundaria: hsl(104, 91%, var(--l));
	--cor-secundaria2: hsl(104, 51%, var(--l));
	--cor-cinza: rgba(0, 0, 0, .04);
	--cor-separador: rgba(0, 0, 0, .08);
	--cor-bg: #fff;
	--cor-fonte: #000;
	--cor-fonte-fraca: rgba(0, 0, 0, .56);
	--cor-erro: #6b1414;
	--margem: 24px;
	--tam-titulo: 16px;
	--persona: calc(var(--margem)*2 + 32px);
	--icon: url(../img/icons-dark.svg)
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	width: 100%
}

* {
	margin: 0;
	box-sizing: border-box
}

body,
input,
textarea,
select,
button {
	font: 16px/1.625 roboto, sans-serif;
	background: var(--cor-bg);
	color: var(--cor-fonte)
}

body {
	display: flex;
	height: 100vh;
	overflow-x: hidden;
	width: 100%;
	max-width: 100vw
}

/* Garantir que todas as imagens circulares mantenham proporção */
img[style*="border-radius"][style*="50%"],
.avatar img,
.avatar-circle img,
.avatar-mini,
.reflection img,
.reflection figure img,
figure img[width][height],
aside img[width][height] {
	object-fit: cover !important;
	aspect-ratio: 1 / 1
}

.logo-destaque:before {
	content: "";
	background: url(../img/deep-light.svg) 0 center/auto 100% no-repeat;
	display: block;
	width: 44px;
	height: 40px;
	margin: 0 auto var(--margem)
}

.destaque-maior:before {
	background-image: url(../img/deep-horizontal-light.svg);
	width: 224px;
	height: 80px;
	margin: 0 auto
}

aside {
	flex: 0 0 300px;
	background: linear-gradient(var(--cor-cinza), var(--cor-cinza)) var(--cor-bg);
	position: relative;
	transition: margin .12s ease-in-out;
	display: flex;
	flex-direction: column;
	height: 100vh;
	z-index: 2;
	width: 300px;
	z-index: 100000;
}

aside footer a:hover {
	text-decoration: underline
}

.historico {
	flex: 1;
	overflow: auto
}

.historico .icone-excluir {
	position: absolute;
	right: var(--margem);
	margin-top: -44px;
	opacity: 0
}

.hist-conversa .historico .icone-excluir {
	margin-top: -38px;
	right: calc(var(--margem)/2 + 2px)
}

.hist-conversa .historico .icone-excluir:not(:hover) {
	background-color: var(--cor-bg)
}

.hist-conversa .historico .icone-excluir:before {
	margin: 6px
}

.historico .reflection:hover+.icone-excluir,
.historico .item:hover+.icone-excluir,
.historico .icone-excluir:hover {
	opacity: 1 !important
}

.historico figcaption {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden
}

progress {
	appearance: none;
	height: 6px;
	width: 100%;
	border-radius: 3px;
	overflow: hidden;
	display: block;
	margin-top: calc(var(--margem)/4)
}

progress::-webkit-progress-bar {
	background-color: var(--cor-separador);
	border-radius: 3px
}

progress::-webkit-progress-value {
	background-color: var(--cor-primaria);
	border-radius: 3px
}

.iniciais {
	font-family: monospace;
	width: 2ch;
	overflow: hidden;
	white-space: nowrap;
	margin: auto
}

.language-switcher {
	position: fixed;
	top: 10px;
	right: var(--margem);
	z-index: 1000;
	display: flex;
	gap: 10px
}

.language-switcher img {
	width: 24px;
	height: 24px;
	cursor: pointer;
	border-radius: 4px
}

.faq-section {
	margin: 40px 0;
	padding: 20px;
	background-color: var(--cor-cinza);
	border-radius: 8px
}

.faq-question {
	font-weight: bold;
	margin-bottom: 10px;
	color: var(--cor-fonte)
}

.faq-answer {
	margin-bottom: 30px
}

.corte {
	height: 428px;
	overflow: hidden
}

.corte .more {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, var(--cor-bg) 50%);
	padding-top: calc(var(--margem)*1.5)
}

.more .botao:before {
	content: "Less"
}

.corte .more .botao:before {
	content: "More"
}

.contrai {
	margin-left: -300px
}

.contrai .icone-contrai:before {
	transform: scaleX(-1)
}

.corpo {
	display: flex;
	flex-direction: column;
	height: 100dvh;
	flex: 1;
	width: 100%;
	max-width: 100vw;
	overflow-x: hidden
}

.corpo:has(.hist-conversa:not(.contrai)) {
	margin-right: 300px
}

.intro {
	display: flex;
	align-items: center;
	justify-content: center
}

.intro:before,
.intro:after {
	content: "";
	background: url(../img/favicon-light.svg) center center/cover no-repeat;
	background: linear-gradient(-61.2deg, transparent calc(50% + 194px), var(--cor-cinza) calc(50% + 194px), transparent) no-repeat;
	position: fixed;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	pointer-events: none
}

.intro:after {
	background: linear-gradient(61.2deg, transparent calc(50% - 20px), var(--cor-cinza) calc(50% - 20px), transparent) no-repeat;
	opacity: .5
}

input[type=text],
textarea,
select,
.prompt-input {
	border: 1px solid var(--cor-cinza);
	border-radius: 6px
}

.prompt-input {
	box-shadow: -16px 16px 32px var(--cor-cinza)
}

input[type=text],
textarea,
select {
	background-color: var(--cor-cinza);
	padding: 10px calc(var(--margem)/2);
	box-sizing: border-box;
	width: 100%;
	display: block;
	line-height: 26px
}

.tam-100 {
	width: 100%;
	height: auto;
	display: block
}

.form-group+.form-group,
li+li {
	margin-top: calc(var(--margem)/2)
}

[type=checkbox] {
	height: 20px;
	vertical-align: text-top;
	width: 20px;
	margin: 2px 10px 2px 0;
	float: left
}

select {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='5'%3E%3Cpath d='M0 0h10L5 5z' fill='rgba(255,255,255,0.85)'/%3E%3C/svg%3E") right 10px center no-repeat var(--cor-bg);
	appearance: none;
	padding-right: 32px;
	height: 48px
}

textarea {
	height: 100px
}

.direita {
	float: right
}

.container,
nav a,
.rel,
.corpo {
	position: relative
}

.link {
	color: var(--cor-fonte);
	text-decoration: underline
}

.container {
	box-sizing: border-box;
	margin: auto;
	max-width: 840px;
	padding: calc(var(--margem)*2) var(--margem)
}

.container+.container {
	padding-top: 0
}

.container.tam-m {
	max-width: 1000px
}

.container.tam-g {
	max-width: 1324px
}

.container.tam-gg {
	max-width: 1400px
}

.alt-g {
	padding: calc(var(--margem)*4) var(--margem)
}

.tam-logo {
	width: calc(var(--margem)*10)
}

.logo {
	color: rgba(0, 0, 0, 0);
	width: 112px;
	height: 40px;
	float: left;
	background: url(../img/deep-horizontal-light.svg) center center/contain no-repeat;
	transition: width .15s ease-in-out, height .15s ease-in-out, background-position .15s ease-in-out;
	display: block;
}

.abs {
	position: absolute
}

.abs.direita {
	right: 0
}

.abs.bloco.direita {
	top: 0
}

header {
	padding: var(--margem) var(--margem) calc(var(--margem)/2);
	display: flex;
	justify-content: space-between;
	align-items: center
}

.ajuda {
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--cor-fonte-fraca) inset;
	text-align: center;
	width: 24px;
	position: absolute;
	line-height: 24px;
	left: -24px
}

.ajuda:hover {
	text-decoration: none
}

.ajuda:not(:hover) {
	opacity: .56
}

.aviso {
	margin-top: var(--margem)
}

footer {
	transition: flex .2s ease-in-out;
	bottom: 0
}

footer:not(.inicial) .container {
	padding: var(--margem)
}

footer.inicial {
	flex: 1.5
}

footer a {
	color: var(--cor-fonte)
}

.tam-100 {
	display: block;
	width: 100%
}

.block {
	display: block
}

.m-auto {
	margin: auto
}

.bg-cinza {
	background: var(--cor-cinza);
	bbackground-image: url(../img/etapas.svg);
	bbackground-size: auto 33.333%
}

.avatar {
	width: calc(var(--persona) + 16px) !important;
	min-width: calc(var(--persona) + 16px) !important;
	max-width: calc(var(--persona) + 16px) !important;
	flex-shrink: 0;
	position: relative
}

.avatar img {
	width: var(--persona) !important;
	height: var(--persona) !important;
	min-width: var(--persona) !important;
	min-height: var(--persona) !important;
	max-width: var(--persona) !important;
	max-height: var(--persona) !important;
	display: block;
	border-radius: 50%;
	transition: filter .15s ease-in-out;
	background-color: var(--cor-bg);
	border: 4px solid var(--cor-fonte);
	padding: 4px;
	object-fit: cover;
	flex-shrink: 0;
	aspect-ratio: 1 / 1
}

.avatar img.pointer:hover {
	box-shadow: 0 0 0 2px var(--cor-fonte)
}

.avatar.premium img {
	border-color: var(--cor-secundaria)
}

.avatar [class^=icone-],
.avatar.verified:before {
	position: absolute;
	bottom: 14px;
	right: -8px;
	transition: opacity .15s ease-in-out;
	z-index: 2
}

.avatar.verified:before {
	content: "";
	border-radius: 50%;
	width: 32px;
	height: 32px;
	bottom: 16px;
	right: -4px;
	background: var(--icon) center -408px no-repeat var(--cor-primaria)
}

.avatar.expressao {
	width: 80px;
	height: 80px;
	background: url(../img/deep-gif-light.gif) center center/80px no-repeat var(--cor-bg);
	border: 4px solid var(--cor-fonte);
	padding: 4px;
	border-radius: 50%
}

.avatar-fusion {
	margin-left: calc(var(--margem)*-2)
}

.avatar-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--cor-primaria-fraca);
	flex: 0 0 40px
}

.avatar-circle.direita {
	margin: 3px 0 0 calc(var(--margem)*.25)
}

.comentario .avatar-circle {
	width: 32px;
	height: 32px;
	flex: 0 0 32px
}

.avatar-mini {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--cor-primaria-fraca);
	flex: 0 0 32px
}

.reflection {
	display: block;
	border-radius: 24px;
	padding: 4px var(--margem) 4px 4px;
	margin: 0 -4px;
	transition: background-color .1s ease-in-out
}

.reflection.ativa {
	background-color: var(--cor-separador)
}

.reflection:hover {
	background-color: var(--cor-primaria-opaca)
}

.reflection:hover img,
.reflection:hover .avatar-circle {
	box-shadow: 0 0 0 2px var(--cor-bg), 0 0 0 4px var(--cor-fonte)
}

.reflection img {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	max-width: 40px;
	max-height: 40px;
	display: block;
	border-radius: 50%;
	transition: filter .15s ease-in-out;
	background-color: var(--cor-bg);
	object-fit: cover;
	flex-shrink: 0
}

.reflection figure {
	display: flex;
	align-items: center;
	gap: 10px
}

.reflection figcaption {
	font-size: 14px;
	line-height: 20px;
	flex: 1
}

.reflection img,
.reflection .avatar-circle {
	transition: box-shadow .1s ease-in-out
}

.nome {
	position: absolute;
	bottom: 0;
	right: 6px;
	left: 6px;
	background: var(--cor-bg);
	padding: 2px 8px;
	line-height: 20px;
	text-align: center
}

.nome:before,
.nome:after {
	content: "";
	border: 12px solid rgba(0, 0, 0, 0);
	top: 0
}

.nome:before {
	border-right-color: var(--cor-bg);
	position: absolute;
	left: -24px;
	width: 0
}

.nome:after {
	border-left-color: var(--cor-bg);
	position: absolute;
	right: -24px;
	width: 0
}

.ativa .nome {
	background: var(--cor-fonte);
	color: var(--cor-bg)
}

.ativa .nome:before {
	border-right-color: var(--cor-fonte)
}

.ativa .nome:after {
	border-left-color: var(--cor-fonte)
}

.ilust-1 {
	width: calc(var(--margem)*12);
	margin: calc(var(--margem)*-12) calc(var(--margem)*3) calc(var(--margem)*1)
}

.ilust-2 {
	height: calc(var(--margem)*5)
}

.ilust-3 {
	height: calc(var(--margem)*4)
}

.bloco.bg-invert,
.reflection.bg-invert {
	background-color: var(--cor-fonte);
	color: var(--cor-bg)
}

.bloco.bg-invert:before,
.reflection.bg-invert:before {
	filter: invert(1)
}

.bloco {
	box-shadow: 0 0 0 1px var(--cor-cinza) inset;
	border-radius: calc(var(--margem)/2)
}

header + .bloco {
	margin-top: calc(var(--margem) * -0.5);
}

.bloco-link {
	transition: box-shadow .12s ease-in-out
}

.bloco-link:hover {
	box-shadow: 0 0 0 1px var(--cor-cinza) inset, 0 0 0 2px var(--cor-bg), 0 0 0 4px var(--cor-fonte-fraca)
}



.brain {
	background: url(../img/hero-light.svg) 0 0 no-repeat, url(../img/deep-light.svg) right center/auto 100% no-repeat, linear-gradient(80deg, var(--cor-fonte-fraca) -50%, var(--cor-fonte));
	min-height: calc(var(--margem)*5.5)
}

.headline {
	background: url(../img/favicon-light.svg) left center/auto 150% no-repeat, linear-gradient(80deg, var(--cor-primaria), var(--cor-fonte) 120%);
	color: var(--cor-bg)
}

.money {
	background: url(../img/money.svg) center center no-repeat, url(../img/deep-light.svg) right center/auto 150% no-repeat, linear-gradient(80deg, var(--cor-primaria), var(--cor-fonte));
	height: 134px
}

.pergunta {
	background: var(--cor-cinza);
	padding: 10px 16px;
	border-radius: 23px
}

.pergunta .icone-excluir {
	position: absolute;
	right: 0;
	opacity: 0;
	margin: -7px calc(var(--margem) + 3px);
	background: linear-gradient(var(--cor-cinza), var(--cor-cinza)) var(--cor-bg)
}

.pergunta:hover .icone-excluir {
	opacity: 1
}

a.pergunta:hover {
	background: var(--cor-primaria-fraca)
}

.wizard a {
	border-radius: 20px;
	font-weight: 700;
	font-size: 14px;
	line-height: 24px;
	padding: 8px var(--margem);
	box-shadow: 0 0 0 2px var(--cor-separador) inset
}

.wizard a:hover {
	box-shadow: 0 0 0 2px var(--cor-fonte-fraca) inset
}

.wizard a.ativo {
	background: var(--cor-fonte);
	color: var(--cor-bg)
}

.resposta,
.m-resposta {
	padding-left: 40px
}

.resposta:before {
	content: "";
	background: url(../img/favicon-light.svg) center center no-repeat;
	box-shadow: 0 0 0 1px var(--cor-separador) inset;
	width: 24px;
	height: 24px;
	position: absolute;
	margin: 1px 0 0 -40px;
	border-radius: 4px
}

nav {
	display: flex;
	gap: 6px
}

nav .login {
	border-radius: 20px;
	float: left;
	font-weight: 700;
	font-size: 14px;
	line-height: 24px;
	text-align: center;
	padding: 8px 0;
	padding: 8px 24px;
	box-shadow: 0 0 0 2px var(--cor-fonte-fraca) inset
}

nav .login:not(.entrar) {
	padding: 8px 0;
	width: 40px
}

nav .login:after {
	content: none
}

nav .login:hover {
	background-color: var(--cor-fonte);
	color: var(--cor-bg)
}

nav .login:active {
	opacity: .9
}

nav .login.ativo {
	background-color: var(--cor-primaria);
	color: var(--cor-bg);
	box-shadow: none
}

nav .fixed {
	right: var(--margem)
}

.language-selector {
	position: relative;
	display: inline-block
}

.language-selector .language-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	font-size: 20px;
	box-shadow: 0 0 0 2px var(--cor-fonte-fraca) inset;
	transition: all 0.2s ease
}

.language-selector .language-toggle:hover {
	background-color: var(--cor-fonte);
	box-shadow: 0 0 0 2px var(--cor-fonte) inset
}

.language-selector .language-toggle:after {
	content: none
}

.language-selector .language-dropdown {
	position: absolute;
	top: 48px;
	right: 0;
	background: var(--cor-bg);
	border: 1px solid var(--cor-fonte-fraca);
	border-radius: 8px;
	min-width: 150px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	overflow: hidden;
	z-index: 1000
}

.language-selector .language-dropdown.none {
	display: none
}

.language-selector .language-dropdown a {
	display: block;
	padding: 12px 16px;
	color: var(--cor-fonte);
	text-decoration: none;
	transition: background-color 0.2s ease;
	font-size: 14px
}

.language-selector .language-dropdown a:after {
	content: none
}

.language-selector .language-dropdown a:hover {
	background-color: var(--cor-primaria);
	color: #fff
}

.language-selector .language-dropdown a.active {
	background-color: rgba(157, 72, 255, 0.1);
	font-weight: 700
}

.google-btn-wrapper {
	position: fixed;
	top: var(--margem);
	right: var(--margem)
}

.botao {
	display: inline-block;
	font-weight: 700;
	padding: 13px calc(var(--margem)*1.5);
	border-radius: 26px;
	position: relative;
	transition: background-color .12s ease-in-out
}

.botao:not(.bg-cinza) {
	background: var(--cor-fonte);
	color: var(--cor-bg)
}

.botao:not(.bg-cinza) [class^=icone-]:before {
	filter: invert(1)
}

.botao:hover {
	background: var(--cor-primaria)
}

.botao:active {
	opacity: .9
}

.botao.block {
	display: block !important
}

.botao.bg-secundaria {
	background: var(--cor-secundaria)
}

.botao.bg-secundaria:hover {
	background: var(--cor-secundaria2)
}

.botao.menor {
	padding: 7px calc(var(--margem)*1.5)
}

.botao-referencia {
	display: inline-block;
	vertical-align: bottom;
	border-radius: 6px;
	transition: background-color .12s ease-in-out, opacity .12s ease-in-out;
	padding: 8px 16px;
	font-size: 14px;
	background: var(--cor-cinza)
}

.botao-referencia:before {
	content: "";
	margin-right: 8px;
	width: 24px;
	height: 24px;
	float: left;
	background: url(../img/icons.svg) center -96px no-repeat;
	filter: grayscale(1) brightness(0) !important
}

.botao-referencia:hover {
	background: linear-gradient(var(--cor-primaria-fraca),var(--cor-primaria-fraca)) var(--cor-bg)
}

.botao-referencia:active {
	opacity: .9
}

.botao [class^=icone-]:before {
	margin: 0 10px 0 -10px
}

.botao .cor-secundaria {
	color: var(--cor-secundaria)
}

.botao .cor-secundaria .icone-premium:before {
	background-image: url(../img/diamond2.svg)
}

.botao.bg-cinza:hover {
	background: var(--cor-separador)
}

.m-e {
	margin-left: var(--margem)
}

.b-cancel {
	background-color: var(--cor-separador);
	color: var(--cor-fonte)
}

.b-cancel:hover {
	background: var(--cor-cinza)
}

.m-exp {
	margin-top: calc(var(--margem)*-0.5);
	border-radius: calc(var(--margem)/2);
	padding: 11px
}

.prompt,
input[type=search] {
	background: var(--cor-bg);
	border-radius: 30px;
	box-shadow: -16px 16px 32px var(--cor-cinza), 0 0 0 1px var(--cor-separador)
}

.prompt-mini {
	box-shadow: none
}

.prompt-mini input.prompt-chat {
	padding: 13px
}

.prompt-mini [class^=icone-]:before {
	margin: 4px
}

.prompt-mini .icone-seta {
	margin-right: 10px
}

.prompt-mini .avatar-mini,
.prompt-mini .icone-mais {
	margin-left: 10px
}

.prompt .icone-mais {
	margin-left: calc(var(--margem)/2 - 2px)
}

.comentario .avatar-mini,
.comentario .avatar-circle {
	margin: 0 10px
}

.comentario .fonte-menor {
	padding: 8px 3px
}

.flex-1 {
	flex: 1
}

input[type=search] {
	background: var(--icon) 22px calc(var(--margem)/2 - 454px) var(--cor-bg) no-repeat;
	border: 0;
	padding: calc(var(--margem)/2 + 5px) 16px calc(var(--margem)/2 + 5px) 56px;
	width: 100%;
	outline: none
}

input[type=search]::-webkit-search-cancel-button {
	appearance: none;
	height: 24px;
	width: 24px;
	background: var(--icon) 0 -216px no-repeat;
	border-radius: 50%
}

input[type=search]::-webkit-search-cancel-button:hover {
	background-color: var(--cor-primaria-fraca)
}

.prompt-chat {
	padding: calc(var(--margem)/2 + 5px) var(--margem);
	position: relative;
	min-height: 26px;
	flex: 1;
	outline: none
}

input.prompt-chat {
	border-radius: 30px;
	border: none;
	padding: 17px
}

.doc,
.tag {
	display: flex;
	flex-wrap: wrap
}

.tag {
	gap: 2px
}

.tag a {
	padding: 2px calc(var(--margem)/2 + 2px);
	border-radius: 15px
}

.tag a:not(.ativo):hover {
	background-color: var(--cor-cinza)
}

.tag .ativo {
	background-color: var(--cor-fonte);
	color: var(--cor-bg)
}

.doc a:not([class^=icone-]) {
	padding: 0 calc(var(--margem)/2);
	border-radius: 13px
}

.doc a:not([class^=icone-]):hover {
	background-color: var(--cor-cinza)
}

.doc [class^=icone-] {
	margin: -8px 0
}

.doc .agrupar {
	margin-left: var(--margem)
}

.pag {
	width: 24px;
	height: 6px;
	display: block;
	margin: 12px 0;
	border-radius: 3px
}

.modal {
	position: absolute;
	background: var(--cor-bg);
	box-shadow: 0 0 0 1px var(--cor-separador), 0 0 0 1px var(--cor-separador), 2px 2px 8px rgba(0, 0, 0, .1);
	padding: calc(var(--margem)/2);
	margin: calc(var(--margem)*-0.25);
	border-radius: 8px;
	animation: m .12s linear;
	bottom: 36px
}

.modal a {
	display: block;
	float: none;
	padding: calc(var(--margem)/4) var(--margem)
}

.modal.fixed {
	top: calc(var(--margem) + 48px);
	right: var(--margem);
	bottom: auto;
	margin: 0
}

header .modal {
	bottom: auto;
	top: 88px;
	width: calc(100% - var(--margem)*2);
	z-index: 3;
	left: calc(var(--margem)*.75);
	align-items: center;
}

hr {
	border: solid var(--cor-separador);
	border-width: 1px 0 0;
	margin: var(--margem) 0
}

.modal hr,
hr.menor {
	margin: calc(var(--margem)/2) 0
}

.modal-g {
	left: 0;
	right: 0;
	padding: var(--margem)
}

.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, .5);
	align-items: center;
	justify-content: center;
	z-index: 1000
}

.modal-overlay:not(.none) {
	display: flex
}

.modal-body {
	margin-bottom: 20px
}

.edit-expression-textarea {
	width: 100%;
	min-height: 100px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	resize: vertical
}

.btn-cancelar,
.btn-salvar {
	padding: 8px 16px;
	border-radius: 4px;
	cursor: pointer;
	border: none
}

.contador {
	padding: 0 6px;
	line-height: 20px;
	font-size: 13px;
	border-radius: 10px;
	min-width: 8px;
	text-align: center;
	right: -8px;
	top: -2px;
	box-shadow: 0 0 0 2px
}

.barra {
	flex-wrap: wrap
}

.margem {
	padding: var(--margem)
}

.margem2 {
	padding: calc(var(--margem)/2)
}

ul,
ol {
	padding: 0 0 0 24px
}

[class^=social-] {
	display: block;
	transition: background-color .12s ease-in-out, opacity .12s ease-in-out
}

[class^=social-]:before {
	content: "";
	background: url(../img/social.svg) no-repeat;
	margin: 3px 12px 0 0;
	width: 20px;
	height: 20px;
	float: left
}

.social-facebook:before {
	background-position-y: -40px
}

.social-youtube:before {
	background-position-y: -80px
}

.social-x:before {
	background-position-y: -120px
}

.social-google:before {
	background-position-y: -160px
}

[class^=icone-] {
	display: flex;
	vertical-align: bottom;
	border-radius: 50%;
	transition: background-color .12s ease-in-out, opacity .12s ease-in-out
}

[class^=icone-].bg-invert {
	background-color: var(--cor-fonte)
}


[class^=icone-]:before {
	content: "";
	margin: 8px;
	width: 24px;
	height: 24px;
	float: left;
	background: var(--icon) center 0 no-repeat
}

.item [class^=icone-]:before {
	margin: -4px 10px -4px 0
}

[class^=icone-].tam-g {
	width: 160px;
	height: 160px;
	border-radius: 50%
}

[class^=icone-].pb:before {
	filter: grayscale(1) brightness(0)
}

.item-menu [class^=icone-]:before {
	margin: 6px 0 6px 10px
}

a[class^=icone-].bg-invert:hover {
	background-color: var(--cor-primaria)
}


a[class^=icone-]:active {
	opacity: .9
}

a[class^=icone-].ativo {
	background-color: var(--cor-primaria)
}

a[class^=icone-].ativo:before {
	filter: invert(1)
}

.icone-instagram:before {
	background: url(../img/social.svg) 2px 2px no-repeat
}

.icone-facebook:before {
	background: url(../img/social.svg) 2px -38px no-repeat
}

.icone-youtube:before {
	background: url(../img/social.svg) 2px -78px no-repeat
}

.icone-x:before {
	background: url(../img/social.svg) 2px -118px no-repeat
}

.icone-google:before {
	background: url(../img/social.svg) 2px -158px no-repeat
}

.icone-linkedin:before {
	background: url(../img/social.svg) 2px -198px no-repeat
}

.icone-tiktok:before {
	background: url(../img/social.svg) 2px -238px no-repeat
}

.icone-whatsapp:before {
	background: url(../img/social.svg) -2px -280px no-repeat
}

.icone-web:before {
    background: url(../img/social.svg) -2px -328px no-repeat
}

main {
	flex: 1;
	overflow: auto;
	max-width: 100vw;
	overflow-x: hidden
}

.icone-seta {
	margin-right: calc(var(--margem)/2 - 2px)
}

.icone-voltar:before {
	background-image: url(../img/seta.svg);
	transform: rotate(-90deg)
}

.link-expande:hover .icone-expande {
	background-color: var(--cor-primaria-fraca)
}

.icone-expande:before {
	transition: transform .12s ease-in-out
}

.icone-notif:before {
	background-position-y: -24px
}

.icone-dock:before {
	background-position-y: -48px
}

.icone-seta:before,
.icone-next:before,
.icone-back:before,
.icone-down:before {
	background-position-y: -72px;
}

.icone-back {
	top: var(--margem);
	left: var(--margem);
	z-index: 2;
	background-color: var(--cor-bg)
}

.icone-back:before {
	transform: rotate(-90deg)
}

.icone-next:before {
	transform: rotate(90deg)
}

.icone-down:before {
	transform: rotate(180deg)
}

.icone-doc:before {
	background-position-y: -96px
}

.icone-contrai:before,
.icone-expande:before {
	background-position-y: -120px
}

.icone-expande:before {
	transform: rotate(180deg)
}

details[open] .icone-expande:before {
	transform: rotate(270deg)
}

.icone-compart:before {
	background-position-y: -558px
}

.icone-editar:before {
	background: url(../img/edit.svg) center center
}

.icone-link:before {
	background: url(../img/link.svg) center center
}

.icone-info:before {
	background-position-y: -168px
}

.icone-anexo:before {
	background-position-y: -192px
}

.icone-excluir:before {
	background-position-y: -216px
}

.icone-more:before {
	background-position-y: -240px
}

.icone-foto:before {
	background-position-y: -264px
}

.icone-logout:before {
	background-position-y: -288px
}

.icone-copy:before {
	background-position-y: -312px
}

.icone-estrela:before {
	background-position-y: -336px
}

.icone-mais:before {
	background-position-y: -384px
}

.icone-live {
	margin-right: calc(var(--margem)*-0.5)
}

.icone-live:before {
	background-position-y: -510px
}

.icone-like:before {
	background-position-y: -534px
}

.icone-compart:before {
	background-position-y: -558px
}

.icone-dashboard:before {
	background: url(../img/layout-dashboard.svg) center center
}

.icone-favorito:before {
	background: url(../img/heart.svg) center center
}

.icone-favorito-ativo:before {
	background: url(../img/heart-at.svg) center center
}

.icone-videos:before {
	background: url(../img/device-tv.svg) center center
}

.icone-otimizar:before {
	background: url(../img/sparkles.svg) center center
}

.icone-premium:before {
	background: url(../img/diamond.svg) center center
}

.icone-premium.cor-secundaria:before {
	background: url(../img/diamond2.svg) center center
}

.icone-gerar:before {
	background: url(../img/brand-zapier.svg) center center
}

.icone-traduzir:before {
	background: url(../img/language.svg) center center
}

.icone-agendar:before {
	background: url(../img/calendar-clock.svg) center center
}

.icone-som:before {
	background: url(../img/device-speaker.svg) center center
}

.icone-ok {
	background: #348337
}

.icone-ok:before {
	background: url(../img/check.svg) center center
}

.icone-verified {
	background: var(--cor-primaria);
	vertical-align: text-top
}

.icone-verified:before {
	background: var(--icon) center -412px no-repeat;
	margin: 0
}

.icone-fechar {
	background: #d14238
}

.icone-fechar:before {
	background: url(../img/x.svg) center center
}

.icone-enviar {
	background: #348337
}

.icone-enviar:before {
	background: url(../img/send.svg) center center
}

.icone-tempo:before {
	background: url(../img/clock-hour-4.svg) center center
}

.icone-ebook:before {
	background: url(../img/book.svg) center center
}

.icone-expression:before {
	background: url(../img/notebook.svg) center center
}

.icone-microfone:before {
	background: url(../img/microphone-dark.svg) center center
}

.icone-fusion:before {
	background: url(../img/chart-circles.svg) center center
}

.icone-trend-up:before {
	background: url(../img/trending-up.svg) center center
}

.icone-trend-down:before {
	background: url(../img/trending-down.svg) center center
}

.icone-config:before {
	background: url(../img/settings.svg) center center
}

.icone-post:before {
	background: url(../img/browser-share.svg) center center
}

.icone-pdf:before {
	background: url(../img/file-type-pdf.svg) center center
}

.icone-copiar:before {
	background: url(../img/copy.svg) center center
}

.icone-check:before {
	background: url(../img/square.svg) center center
}

.icone-check-marcado:before {
	background: url(../img/square-check.svg) center center
}

.icone-inc-agente:before {
	background: url(../img/browser-plus.svg) center center
}

.icone-remover:before {
	background: url(../img/trash.svg) center center
}

.icone-vi:before {
	background: url(../img/eye.svg) center center
}

.icone-nao-vi:before {
	background: url(../img/eye-off.svg) center center
}

@keyframes c {
	0% {
		transform: rotate(0)
	}
	100% {
		transform: rotate(360deg)
	}
}

.icone-loader:before {
	background: url(../img/loader.svg) center center;
	animation: c 1.5s linear infinite;
	filter: invert(1);
}

.icone-loader-content:before {
	background: url(../img/loader.svg) center center;
	animation: c 1.5s linear infinite;
	filter: brightness(0) !important;
}

.icone-obter:before {
	background: url(../img/cloud-down.svg) center center
}

.icone-obter-black:before {
	background: url(../img/cloud-down.svg) center center;
	filter: invert(1);
}

.icone-atualizar:before {
	background: url(../img/refresh.svg) center center
}

.icone-atualizar-black:before {
	background: url(../img/refresh.svg) center center;
	filter: invert(1);
}

.icone-notificacao:before {
	background: url(../img/notification.svg) center center
}

.icone-palavras:before {
	background: url(../img/playlist-add.svg) center center
}

.icone-thumbnail:before {
	background: url(../img/photo.svg) center center
}

.icone-ideias:before {
	background: url(../img/bulb.svg) center center
}

.icone-assistente:before {
	background: url(../img/message-circle-share.svg) center center
}

.icone-similares:before {
	background: url(../img/congruent-to.svg) center center
}

.icone-agentes:before {
	background: url(../img/world-search.svg) center center
}

.icone-upload:before {
	background: url(../img/upload.svg) center center
}

.icone-download:before {
	background: url(../img/download.svg) center center
}

.icone-dock.abs,
.icone-dock.fixed {
	top: var(--margem);
	right: var(--margem);
	z-index: 1
}

.icone-info.fonte-fraca {
	padding-left: 34px;
	display: block
}

.icone-info.fonte-fraca:before {
	position: absolute;
	margin: 1px 0 0 -34px
}

.icone-contrai {
	position: absolute;
	right: -48px
}

.icone-anexo {
	margin-right: 10px
}

[class^=grid-],
[class*=" grid-"] {
	display: grid;
	gap: calc(var(--margem)*2);
	grid-template-columns: repeat(1, 1fr)
}

.gap-0 {
	gap: 0
}

.gap-p {
	gap: calc(var(--margem)*.25)
}

.gap-m {
	gap: var(--margem)
}

.gap-g {
	gap: calc(var(--margem)*4)
}

.bg {
	background: var(--cor-bg)
}

.flut,
.fixed {
	position: fixed
}

.flut {
	background: linear-gradient(transparent, var(--cor-bg) calc(var(--margem) * 0.75));
	padding: var(--margem) 0 calc(var(--margem)*.25);
	bottom: 40px;
	width: 792px;
	left: calc(50% - 396px);
	z-index: 9
}

@keyframes m {
	0% {
		margin-top: 0;
		opacity: 0
	}
}

.flex {
	display: flex
}

.flex .grid {
	flex: 0 0 100%
}

.flex.alinha-direita {
	justify-content: end
}

a {
	color: var(--cor-fonte);
	text-decoration: none
}

h1,
h2,
h3,
h4,
h5,
summary {
	font-family: roboto-slab, sans-serif
}

.lead {
	font-size: calc(var(--margem)*1)
}

.lead:not(:last-child) {
	margin-bottom: var(--margem)
}

h1 {
	font-size: calc(var(--margem)*2);
	line-height: 1.25
}

h1:not(:last-child) {
	margin-bottom: var(--margem)
}

h2 {
	font-size: calc(var(--margem) + 6px)
}

h2.maior {
	margin-bottom: 16px;
	font-size: calc(var(--tam-titulo)*3)
}

h2:not(:last-child) {
	margin-bottom: var(--margem)
}

h3 {
	font-size: calc(var(--margem)/2 + 12px)
}

h3:not(:last-child) {
	margin-bottom: calc(var(--margem)*.75)
}

.m-0 {
	margin: 0 !important
}

.editable {
	position: relative;
	display: inline-block
}

.editable:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	border-bottom: 2px dashed var(--cor-fonte-fraca)
}

.editable:focus {
	outline: none
}

.editable:focus:before {
	border-bottom-style: solid
}

.maior+h3,
h1+h2 {
	font-weight: 400
}

h1+h2 {
	font: calc(var(--margem) / 2 + 8px)/1.625 roboto, sans-serif
}

h4,
summary {
	font-size: 18px;
	line-height: 1.667
}

h5 {
	font-size: 16px
}

summary,
.pointer {
	cursor: pointer
}

h4:not(.m-b):not(:last-child) {
	margin-bottom: calc(var(--margem)/4)
}

h5:not(.m-b):not(:last-child) {
	margin-bottom: calc(var(--margem)/2)
}

.cor-destaque,
.link:hover {
	color: var(--cor-primaria)
}

.ne,
summary {
	font-weight: 700
}

button {
	background: var(--cor-fonte);
	color: var(--cor-bg);
	display: inline-block;
	font-weight: 700;
	padding: 13px calc(var(--margem)*1.5);
	border-radius: 26px;
	position: relative;
	transition: background-color .12s ease-in-out;
	border: 0;
	cursor: pointer
}

button:hover {
	background: var(--cor-primaria)
}

button:active {
	opacity: .9
}

button.block {
	display: block !important
}

button.bloco-link {
	border-radius: 33px
}

.inscrever-1 {
	border-radius: 26px 0 0 26px
}

.inscrever-2 {
	margin-left: -20px
}

[disabled] {
	opacity: .6
}

p+h2,
ul+h2,
ul+h3,
h2+.grid {
	margin-top: calc(var(--margem)*2)
}

fieldset+button {
	margin-top: var(--margem)
}

.fundo-bloq {
	display: none;
	position: fixed;
	left: 0;
	right: 222px;
	bottom: 0;
	top: 0;
	padding: 0
}

.ativo .fundo-bloq {
	display: block
}

.bg-primaria {
	background-color: var(--cor-primaria) !important;
	color: var(--cor-bg)
}

.bg-primaria-fraca {
	background-color: var(--cor-primaria-fraca)
}

.quote {
	background: linear-gradient(to left, transparent -25%, var(--cor-primaria-fraca), transparent 125%)
}

.cor-primaria {
	color: var(--cor-primaria)
}

p:not(:last-child),
ul:not(:last-child),
ol:not(:last-child) {
	margin: 0 0 var(--margem)
}

.erro {
	background: var(--cor-erro)
}

.social [class^=icone-]:not(.on) {
	opacity: .8
}

.social [class^=icone-]:not(.on):hover {
	box-shadow: 0 0 0 2px var(--cor-fonte-fraca) inset;
	background: none
}

.social .on {
	box-shadow: 0 0 0 2px var(--cor-fonte) inset;
	background-color: var(--cor-bg) !important
}

.centro {
	text-align: center
}

.alinha-direita {
	text-align: right
}

.alinha-v {
	align-items: center
}

.agrupar {
	display: flex;
	justify-content: center;
}

.agrupar.alinha-direita {
	justify-content: right
}

.agrupar.nota,
.agrupar.alinha-esquerda {
	justify-content: left
}

.grid-reflection {
	gap: var(--margem);
	grid-template-columns: repeat(4, 1fr)
}

.grid-reflection .reflection {
	overflow: hidden;
	white-space: nowrap;
	position: relative
}

.grid-reflection .reflection:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: calc(var(--margem)*1.5);
	background: linear-gradient(to left, var(--cor-bg) calc(var(--margem) / 2), transparent);
	z-index: -1
}

.grid-reflection .fonte-menor {
	text-overflow: ellipsis;
	overflow: hidden;
	width: 100%;
	position: relative;
	z-index: -2
}

.lista-reflection {
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--margem)*.5)
}

.lista-reflection a {
	width: 224px
}

.lista-reflection .fonte-menor {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 174px
}

.graf-canvas {
	display: block;
	width: 100%;
	border-radius: calc(var(--margem)/2);
	margin-top: -53px
}

.nota {
	margin-top: calc(var(--margem)/4)
}

.nota.direita {
	margin-top: 2px
}

.nota [class^=icone-]:before {
	margin: 0
}

.nota .icone-estrela:not(:hover):before,
.nota span.icone-estrela:before {
	opacity: .56
}

.options [class^=icone-]:before {
	margin: 4px
}

.nota-1 .icone-estrela:nth-child(1):before {
	background-position-y: -360px;
	opacity: 1 !important
}

.nota-2 .icone-estrela:nth-child(-n+2):before {
	background-position-y: -360px;
	opacity: 1 !important
}

.nota-3 .icone-estrela:nth-child(-n+3):before {
	background-position-y: -360px;
	opacity: 1 !important
}

.nota-4 .icone-estrela:nth-child(-n+4):before {
	background-position-y: -360px;
	opacity: 1 !important
}

.item {
	padding: 11px var(--margem);
	border-radius: calc(var(--margem)/2);
	display: block
}

a.item {
	transition: background-color .2s ease-in-out
}

a.item:hover {
	box-shadow: 0 0 0 1px var(--cor-primaria-fraca) inset
}

.check {
	padding-left: 50px
}

.check:before {
	content: "";
	border: 2px solid var(--cor-fonte-fraca);
	position: absolute;
	width: 16px;
	height: 16px;
	margin: 3px 0 0 -35px;
	border-radius: 4px
}

.check.ativo:before {
	background: var(--icon) -3px -416px var(--cor-primaria)
}

img.tam-100,
.tam-120 {
	display: block;
	width: 100%;
	height: auto
}

.tam-120 {
	width: calc(100% + var(--margem)*4)
}

.fonte-menor {
	font-size: 13px;
	line-height: 16px
}

.efeito {
	position: relative
}

.efeito:before {
	content: "";
	border: 2px solid var(--cor-primaria);
	border-radius: 2px;
	display: block;
	margin-bottom: var(--margem)
}

.efeito:after {
	content: "";
	border: 6px solid var(--cor-primaria);
	border-radius: 50%;
	position: absolute;
	top: -4px;
	left: 0
}

.borda {
	border-radius: 12px
}

.borda-clara {
	box-shadow: 1px 1px 32px var(--cor-cinza), 0 0 0 1px var(--cor-separador) inset, 0 0 0 1px var(--cor-separador-claro) inset
}

fieldset {
	border: 0;
	padding: 0
}

fieldset p:not(:last-child) {
	margin: 0 0 calc(var(--margem)*.75)
}

.caixa {
	border-radius: 3px;
	box-shadow: 0 0 0 1px var(--cor-separador) inset;
	background: var(--cor-separador)
}

label {
	color: var(--cor-fonte-fraca);
	display: block;
	margin-bottom: calc(var(--margem)/2)
}

.none,
#alert-system {
	display: none
}

.fonte-fraca {
	color: var(--cor-fonte-fraca)
}

.m-l {
	margin-left: var(--margem)
}

.m-r {
	margin-right: var(--margem)
}

/* Estilo moderno para o botão de compartilhamento */
.share-to-feed-container {
	margin: 20px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.share-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: transparent;
	color: var(--cor-fonte-fraca);
	border: 1px solid rgba(128, 128, 128, 0.2);
	border-radius: 20px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
	outline: none;
	position: relative;
}

.share-button:hover:not(:disabled) {
	background: rgba(128, 0, 255, 0.05);
	color: var(--cor-primaria);
	border-color: var(--cor-primaria);
	transform: translateY(-1px);
}

.share-button:hover:not(:disabled) .share-icon {
	transform: scale(1.1);
}

.share-button:active:not(:disabled) {
	transform: translateY(0);
	background: rgba(128, 0, 255, 0.1);
}

.share-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.share-button.shared-success {
	background: rgba(76, 175, 80, 0.1);
	border-color: #4CAF50;
	color: #4CAF50;
}

.share-button.shared-success .share-icon {
	color: #4CAF50;
}

.share-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.share-icon.loading {
	animation: rotate 1s linear infinite;
}

.share-icon.loading .spinner-circle {
	transform-origin: center;
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.m-l3 {
	margin-left: calc(var(--margem)/4)
}

.m-b {
	margin-bottom: var(--margem)
}

.m-b2 {
	margin-bottom: calc(var(--margem)/2)
}

.m-b3 {
	margin-bottom: calc(var(--margem)/4)
}

.m-bx2 {
	margin-bottom: calc(var(--margem)*2)
}

.m-t,
.more {
	margin-top: var(--margem)
}

/* ====================================
   FEATURE CARDS (Debate & Deep Fusion)
   ==================================== */

.feature-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	margin-top: calc(var(--margem)/2)
}

.feature-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 6px 4px;
	background: var(--cor-cinza);
	border: 1px solid var(--cor-separador);
	border-radius: 8px;
	transition: all .2s ease-in-out;
	text-decoration: none;
	color: var(--cor-fonte);
	cursor: pointer;
	min-height: 50px
}

.feature-card:hover {
	transform: translateY(-2px);
	border-color: var(--cor-primaria);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .08)
}

.feature-card:active {
	transform: translateY(0)
}

.feature-card-icon {
	flex-shrink: 0
}

.feature-card-icon img {
	width: 28px;
	height: 28px;
	display: block
}

.feature-card-content {
	text-align: center;
	width: 100%
}

.feature-card-title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: var(--cor-fonte);
	word-break: break-word
}

.feature-card-description {
	display: none
}

.hist-conversa {
	background-color: var(--cor-bg);
	box-shadow: 1px 0 var(--cor-separador) inset;
	width: 300px;
	position: fixed;
	z-index: 1;
	right: 0
}

.hist-conversa.contrai {
	display: none
}

.hist-conversa input {
	margin: calc(var(--margem)*-0.5) 0;
	flex: 1
}

.mood {
	right: calc(var(--margem) - 2px);
	top: calc(var(--margem)/2 + 2px)
}

.lista .item {
	margin: 0 calc(var(--margem)*-0.5);
	padding: 7px calc(var(--margem)/2);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden
}

.detalhe,
details p {
	margin: calc(var(--margem)/4) 0 0 calc(var(--margem)*.25 + 40px)
}

details+details {
	margin-top: calc(var(--margem)/4)
}

details[open]+details {
	margin-top: var(--margem)
}

.link-contrai .detalhe {
	display: none
}

::-webkit-scrollbar {
	width: 16px
}

::-webkit-scrollbar-thumb {
	background-color: rgba(164, 164, 164, .5);
	border-radius: 8px;
	border: 5px solid rgba(0, 0, 0, 0);
	background-clip: content-box
}

::-webkit-scrollbar-thumb:hover {
	background-color: rgba(164, 164, 164, .75)
}

@media screen and (max-width: 1600px) {
	.grid-reflection {
		grid-template-columns: repeat(3, 1fr)
	}
}

@media screen and (max-width: 1400px) {
	.grid-reflection {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (min-width: 1000px) {
	.m-foto {
		margin: 0 96px 0 -96px
	}

	.col-2 {
		grid-column: span 2
	}

	.col-3 {
		grid-column: span 3
	}

	.lin-2 {
		grid-row: span 2
	}

	.icone-menu,
	.mobile {
		display: none
	}

	.limite2 {
		max-width: 620px;
		margin-right: auto;
		margin-left: auto
	}

	.grid-2 {
		grid-template-columns: repeat(2, 1fr)
	}

	.grid-3 {
		grid-template-columns: repeat(3, 1fr)
	}

	.grid-4 {
		grid-template-columns: repeat(4, 1fr)
	}

	.grid-5 {
		grid-template-columns: repeat(5, 1fr)
	}

	.grid-6 {
		grid-template-columns: repeat(6, 1fr)
	}

	.col-2 {
		grid-column: span 2
	}

	.col-3 {
		grid-column: span 3
	}

	.col-4 {
		grid-column: span 4
	}

	.col-5 {
		grid-column: span 5
	}

	.col-6 {
		grid-column: span 6
	}

	.efeito-linha {
		position: relative;
		margin: 0 96px
	}

	.efeito-linha:before {
		content: "";
		position: absolute;
		border: solid var(--cor-separador-claro);
		border-radius: 96px 0;
		border-width: 1px 0 0 1px;
		left: 0;
		right: -144px;
		bottom: -133px;
		height: 100px
	}

	.order-2 {
		order: 2
	}

	.m-video {
		margin-left: calc(var(--margem)*-4);
		padding: calc(var(--margem)/2) 0 calc(var(--margem)/2) calc(var(--margem)/2)
	}
}

@media screen and (max-width: 999px) {
	:root {
		--margem: 16px;
		--tam-titulo: 9px
	}

	body {
		overflow-x: hidden
	}

	.corpo {
		overflow-x: hidden;
		max-width: 100vw
	}

	.container {
		max-width: 100vw;
		padding-left: var(--margem);
		padding-right: var(--margem);
		box-sizing: border-box
	}

	.container.tam-m,
	.container.tam-g,
	.container.tam-gg {
		max-width: 100vw
	}

	.grid-reflection {
		grid-template-columns: repeat(1, 1fr)
	}

	.grid-2-mobile {
		grid-template-columns: repeat(2, 1fr)
	}

	/* Feature Cards - empilhar em 1 coluna no mobile */
	.feature-cards {
		grid-template-columns: 1fr;
		gap: calc(var(--margem)/2)
	}

	.ilust-1 {
		margin: var(--margem) auto calc(var(--margem)*2)
	}

	.ilust-2,
	.ilust-3 {
		position: absolute;
		top: 0
	}

	.ilust-3 {
		top: 24px
	}

	.efeito {
		margin-left: 112px
	}

	aside {
		position: fixed;
		left: 0;
		bottom: 0;
		top: 0;
		z-index: 9;
		margin-left: -300px;
		z-index: 100001;
	}

	aside.contrai {
		margin-left: 0
	}

	.icone-contrai {
		transform: scaleX(-1);
		background-color: var(--cor-bg)
	}

	.grid {
		grid-template-columns: repeat(1, 1fr)
	}

	.no-mobile {
		display: none
	}

	.hist-conversa {
		top: 0;
		bottom: 0;
		z-index: 3;
		box-shadow: 1px 0 var(--cor-separador) inset, 0 0 32px 32px var(--cor-bg)
	}

	.modal {
		z-index: 1;
		right: calc(50% - 68px)
	}

	.mobile-2 {
		grid-template-columns: repeat(2, 1fr)
	}

	.grid-5 {
		grid-template-columns: repeat(1, 1fr);
		max-width: 100%
	}

	.col-2-mobile {
		grid-column: span 2
	}

	.col-2, .col-3, .col-4, .col-5 {
		grid-column: span 1;
		max-width: 100%
	}

	.apaga-mobile {
		display: none
	}

	.ico {
		width: 24px
	}

	.lista-reflection a {
		width: 100%
	}

	.lista-reflection .fonte-menor {
		width: 248px
	}

	.avatar-circle.direita {
		margin-top: -61px
	}

	.linha-mobile {
        display: flex;
        align-items: center
    }
}

@media print {
	:root {
		--cor-primaria: rgba(0, 0, 0, .06);
		--cor-fonte: #000;
		--cor-fonte-fraca: rgba(0, 0, 0, .5);
		--cor-bg: none
	}

	main {
		background: none
	}

	.col-2 {
		grid-column: span 2
	}

	nav,
	.apaga-print {
		display: none
	}

	.bg-primaria {
		color: #000
	}
}

.markdown-content {
	line-height: 1.6;
	color: var(--cor-fonte);
	background: var(--cor-bg);
	border-radius: 8px
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3 {
	margin: 1.5em 0 .5em;
	color: var(--cor-primaria)
}

.markdown-content code {
	background: var(--cor-cinza);
	padding: .2em .4em;
	border-radius: 3px;
	font-family: monospace
}

.markdown-content pre {
	background: var(--cor-cinza);
	padding: 1em;
	border-radius: 4px;
	overflow-x: auto
}

.markdown-content pre code {
	background: none;
	padding: 0
}

.markdown-content blockquote {
	border-left: 4px solid var(--cor-primaria);
	margin: 1em 0;
	padding-left: 1em;
	color: var(--cor-fonte-fraca);
	font-style: italic
}

.markdown-content ul,
.markdown-content ol {
	padding-left: 2em;
	margin: 1em 0
}

.markdown-content a {
	color: var(--cor-primaria);
	text-decoration: none
}

.markdown-content a:hover {
	text-decoration: underline
}

.markdown-content img {
	max-width: 100%;
	height: auto;
	border-radius: 4px
}

.markdown-content p {
	margin: 1em 0
}

.markdown-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 16px;
	text-align: left;
	background-color: var(--cor-bg);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 4px var(--cor-separador)
}

.markdown-content table thead {
	background-color: var(--cor-primaria);
	color: #fff;
	font-weight: bold
}

.markdown-content table th,
.markdown-content table td {
	padding: 12px 15px;
	border: 1px solid var(--cor-separador)
}

.markdown-content table tbody tr:nth-child(even) {
	background-color: var(--cor-cinza)
}

.markdown-content table {
	overflow-x: auto
}

.markdown-content table td:first-child {
	font-weight: bold;
	text-align: center
}

.loading-indicator {
	color: var(--cor-fonte-fraca);
	font-style: italic
}

.card.margem .more {
	background-color: var(--cor-bg);
	border-radius: 12px;
	margin-top: 15px;
	transition: all .3s ease
}

.card.margem .grid-1.gap-p.m-b {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 15px;
	max-height: 500px;
	overflow-y: auto;
	padding-right: 5px
}

.card.margem .comentario {
	position: relative;
	display: flex;
	align-items: flex-start;
	padding: 10px;
	border-radius: 18px;
	margin-bottom: 2px;
	width: 85%
}

.card.margem .comentario.agrupar.alinha-esquerda {
	margin-right: auto;
	border-top-left-radius: 4px
}

.card.margem .comentario.agrupar.alinha-direita {
	margin-left: auto;
	border-top-right-radius: 4px;
	text-align: right
}

.card.margem .comentario .avatar-mini {
	margin-right: 10px;
	background-color: var(--cor-primaria-fraca)
}

.card.margem .comentario.alinha-direita .avatar-mini {
	margin-left: 10px;
	margin-right: 0;
	order: 2
}

.card.margem .comentario .flex-1 {
	flex: 1;
	font-size: 14px;
	line-height: 1.4;
	word-break: break-word
}

.card.margem .agrupar.alinha-v.prompt.prompt-mini.rel {
	margin-top: 10px;
	border-radius: 20px;
	overflow: hidden;
	background-color: var(--cor-bg);
	box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
	display: flex;
	align-items: center
}

.card.margem input.prompt-chat {
	border: none;
	padding: 12px 15px;
	font-size: 14px;
	flex: 1;
	background-color: rgba(0, 0, 0, 0)
}

.card.margem a.icone-seta.bg-invert {
	width: 36px;
	height: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	margin-right: 5px;
	transition: background-color .2s ease
}

.card.margem a.icone-seta.bg-invert:hover {
	background-color: var(--cor-primaria)
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.card.margem .comentario {
	animation: fadeIn .3s ease forwards
}

.card.margem .comentario:hover {
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1)
}

@media screen and (max-width: 768px) {
	body {
		overflow-x: hidden;
		max-width: 100vw
	}

	.corpo {
		overflow-x: hidden;
		max-width: 100vw
	}

	.container {
		max-width: 100%;
		padding-left: var(--margem);
		padding-right: var(--margem);
		box-sizing: border-box;
		overflow-x: hidden
	}

	.card.margem .comentario {
		width: 95%;
		max-width: 100%
	}

	.card.margem .comentario .fonte-menor {
		font-size: 14px
	}
}

.botao-login {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	color: #757575;
	border: 1px solid #dadce0;
	border-radius: 8px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all .2s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
	width: 220px;
	height: 40px
}

.botao-login:hover {
	background-color: #f8f8f8;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .2)
}

.botao-login:active {
	background-color: #eee
}

.google-icon {
	margin-right: 12px;
	display: flex;
	align-items: center
}

img {
	object-fit: cover !important
}

.acoes-expressao {
	margin-top: 5px;
	text-align: right;
	opacity: .6;
	transition: opacity .3s ease
}

.acoes-expressao:hover {
	opacity: 1
}

.acoes-expressao a {
	margin-left: 8px;
	display: inline-block
}

.icone-excluir {
	width: 16px;
	height: 16px;
	background-image: url("../img/trash.svg");
	background-size: contain;
	background-repeat: no-repeat
}

.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, .5);
	align-items: center;
	justify-content: center;
	z-index: 1000
}

.modal-overlay:not(.none) {
	display: flex
}

.modal-content {
	background-color: var(--cor-bg);
	padding: var(--margem);
	box-shadow: 0 0 20px rgba(0, 0, 0, .4), 3px 3px 6px rgba(0, 0, 0, .2);
	width: 80%;
	max-width: 696px;
	overflow-x: auto;
	border-radius: 8px;
	position: relative;
	max-height: calc(100vh - var(--margem)*3)
}

.modal-content h4 {
	margin-top: 0;
	margin-bottom: calc(var(--margem)/2)
}

.modal-body {
	margin-bottom: var(--margem)
}

.edit-expression-textarea {
	width: 100%;
	min-height: 100px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	resize: vertical
}

.modal-footer {
	display: flex;
	justify-content: flex-end;
	gap: calc(var(--margem)/2)
}

.btn-cancelar,
.btn-salvar {
	padding: 8px 16px;
	border-radius: 4px;
	cursor: pointer;
	border: none
}

.btn-cancelar {
	background-color: #f2f2f2;
	color: #333
}

.btn-salvar {
	background-color: #4285f4;
	color: #fff
}

.edit-expression-textarea {
	background-color: #3c3c3c;
	color: #e0e0e0;
	border-color: #555
}

.btn-cancelar {
	background-color: #444;
	color: #e0e0e0
}

.diary-header {
	margin-top: 30px;
	padding: calc(var(--margem)*1.5) 0;
	border-radius: 12px;
	margin-bottom: var(--margem)
}

.diary-header h3 {
	font-size: 24px;
	color: var(--cor-fonte)
}

.diary-container {
	max-width: 900px;
	margin: 0 auto
}

.expressions-list .card {
	padding: 15px;
	margin-bottom: var(--margem);
	transition: all .3s ease
}

.expressions-list .card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1)
}

.expression-content {
	position: relative
}

.expression-text {
	font-size: 16px;
	line-height: 1.6;
	word-break: break-word
}

.expression-meta {
	margin-top: 8px;
	font-size: 12px;
	opacity: .7
}

.acoes-expressao {
	position: absolute;
	top: 10px;
	right: 10px;
	opacity: 0;
	transition: opacity .2s ease
}

.card:hover .acoes-expressao {
	opacity: 1
}

.acoes-expressao a {
	margin-left: 10px;
	width: 24px;
	height: 24px
}

.diary-footer {
	bottom: 0;
	left: 300px;
	right: 0;
	background: var(--cor-bg);
	padding: var(--margem);
	box-shadow: 0 -2px 10px rgba(0, 0, 0, .05)
}

.prompt-container {
	background: var(--cor-cinza);
	border-radius: 12px;
	padding: 10px
}

.diary-input {
	flex: 1;
	min-height: 60px;
	max-height: 120px;
	resize: vertical;
	border: none;
	background: rgba(0, 0, 0, 0);
	padding: 12px;
	font-size: 15px;
	outline: none;
	color: var(--cor-fonte)
}

.diary-send {
	padding: 10px 20px;
	font-size: 14px;
	border-radius: 8px
}

.fade-in {
	animation: fadeIn .5s ease-in-out
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

@media screen and (max-width: 999px) {
	.diary-footer {
		left: 0
	}

	.diary-container {
		padding: 0 calc(var(--margem)/2)
	}
}

.stories-container {
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden
}

.stories-wrapper {
	display: flex;
	overflow-x: auto;
	scroll-behavior: smooth;
	-ms-overflow-style: none;
	scrollbar-width: none;
	gap: calc(var(--margem)/2);
	width: 100%;
	box-sizing: border-box;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch
}

.stories-wrapper:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 40px;
	background: linear-gradient(to left, var(--cor-bg) 10px, transparent);
	right: 0
}

.stories-wrapper::-webkit-scrollbar {
	display: none
}

.story-item {
	flex: 0 0 calc(56px + var(--margem));
	text-align: center;
	cursor: pointer;
	transition: transform .3s ease;
	scroll-snap-align: start;
	animation: fadeIn .3s ease forwards;
	animation-delay: calc(var(--item-index)*.05s);
	opacity: 0
}

.story-avatar {
	width: calc(56px + var(--margem));
	height: calc(56px + var(--margem));
	border-radius: 50%;
	margin: 0 auto 8px;
	background-color: var(--cor-primaria-fraca);
	border: 2px solid rgba(0, 0, 0, 0);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	transition: border-color .1s ease-in-out
}

.story-item:hover .story-avatar {
	border-color: var(--cor-fonte)
}

.story-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.story-name {
	font-size: 12px;
	line-height: 1.2;
	max-width: 80px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--cor-fonte)
}

.story-nav-button {
	position: absolute;
	top: 0;
	bottom: 22px;
	z-index: 5;
	right: 0;
	background: linear-gradient(to left, var(--cor-bg) 20px, transparent);
	padding-left: 40px;
	width: 40px
}

.story-nav-button.prev {
	left: 0;
	transform: scaleX(-1)
}

.icone-next:before,
.icone-atualizar:before,
.icone-mais:before,
.icone-obter:before{
	filter: grayscale(1) brightness(100) !important;
}

.filters-carousel .story-nav-button {
	bottom: 0;
	top: 0;
}

.touch-scroll {
	cursor: grab
}

.touch-scroll:active {
	cursor: grabbing
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(5px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

@media screen and (max-width: 999px) {
	.stories-container {
		padding: 0 10px;
		max-width: 100vw;
		overflow-x: hidden
	}

	.stories-wrapper {
		max-width: calc(100vw - 20px)
	}

	.story-nav-button {
		display: none !important
	}

	.filters-carousel {
		margin-left: 0 !important;
		padding-left: 0 !important;
		max-width: 100vw;
		overflow-x: hidden
	}
}

.main-login {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	padding: 2rem
}

.login-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 510px
}

.login-logo {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2rem;
	font-family: "Plus Jakarta Sans", sans-serif
}

.login-card {
	width: 100%;
	background-color: var(--color-card);
	border-radius: 16px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
	overflow: hidden;
	transition: transform .3s ease
}

.login-card:hover {
	transform: translateY(-4px)
}

.login-header {
	padding: 2rem 2rem 1rem;
	text-align: center
}

.login-header h2 {
	margin-bottom: .5rem;
	font-weight: 700;
	font-size: 1.5rem
}

.login-header p {
	color: var(--color-text-secondary);
	font-size: .9rem
}

.login-content {
	padding: 1rem 2rem 2rem;
	display: flex;
	flex-direction: column;
	align-items: center
}

.login-image {
	width: 180px;
	height: 180px;
	margin-bottom: 1.5rem;
	background-image: url("../img/persona.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	filter: grayscale(1) !important
}

.login-message {
	text-align: center;
	margin-bottom: 1.5rem
}

.login-message p {
	color: var(--color-text-secondary);
	font-size: .95rem;
	line-height: 1.5
}

.login-google-container {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 1rem
}

.login-google-button {
	width: 100%;
	max-width: 280px;
	height: 48px
}

.login-footer {
	padding: 1.5rem;
	text-align: center;
	border-top: 1px solid var(--color-border);
	background-color: var(--color-bg-subtle)
}

.login-footer p {
	font-size: .8rem;
	color: var(--color-text-secondary)
}

.login-footer a {
	color: var(--color-primary);
	text-decoration: none
}

.login-footer a:hover {
	text-decoration: underline
}

.login-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 1rem
}

.spinner {
	width: 30px;
	height: 30px;
	border: 3px solid rgba(0, 0, 0, .1);
	border-top-color: var(--color-primary);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-bottom: .5rem
}

@keyframes spin {
	to {
		transform: rotate(360deg)
	}
}

:root {
	--color-bg: #f5f5f5;
	--color-card: #ffffff;
	--color-text-primary: #222222;
	--color-text-secondary: #666666;
	--color-primary: #1a73e8;
	--color-border: #e0e0e0;
	--color-bg-subtle: #f9f9f9
}

@media(max-width: 768px) {
	.login-container {
		max-width: 100%
	}

	.login-card {
		border-radius: 12px
	}

	.login-header {
		padding: 1.5rem 1.5rem 1rem
	}

	.login-content {
		padding: 1rem 1.5rem 1.5rem
	}

	.login-image {
		width: 150px;
		height: 150px
	}
}

.audio-controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative
}

.audio-control-buttons {
	display: flex;
	align-items: center
}

.audio-button {
	background: none;
	border: none;
	cursor: pointer;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--cor-primaria-fraca, rgba(90, 24, 154, 0.1));
	transition: all .2s ease;
	outline: none;
	padding: 0
}

.audio-button:hover {
	transform: scale(1.05);
	background-color: var(--cor-primaria-fraca, rgba(90, 24, 154, 0.15))
}

.audio-button:active {
	transform: scale(0.95)
}

.audio-icon-play {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 9px;
	border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--cor-primaria, #7209b7);
	margin-left: 4px
}

.audio-icon-pause {
	width: 16px;
	height: 10px;
	position: relative
}

.audio-icon-pause:before,
.audio-icon-pause:after {
	content: "";
	position: absolute;
	width: 3px;
	height: 10px;
	background-color: var(--cor-primaria, #7209b7);
	top: 0
}

.audio-icon-pause:before {
	left: 3px
}

.audio-icon-pause:after {
	right: 3px
}

.audio-loading {
	display: flex;
	align-items: center;
	padding: 0 10px;
	color: var(--cor-fonte-fraca, rgba(0, 0, 0, 0.56));
	font-size: 14px;
	height: 42px
}

.loading-spinner {
	width: 16px;
	height: 16px;
	border: 2px solid var(--cor-primaria-fraca, rgba(90, 24, 154, 0.2));
	border-top: 2px solid var(--cor-primaria, #7209b7);
	border-radius: 50%;
	margin-right: 10px;
	animation: spin 1s linear infinite
}

@keyframes spin {
	0% {
		transform: rotate(0deg)
	}

	100% {
		transform: rotate(360deg)
	}
}

.audio-player-expanded {
	display: flex;
	align-items: center;
	margin-left: 12px;
	flex: 1;
	max-width: 500px;
	opacity: .75;
	transition: opacity .3s ease
}

.audio-player-expanded:hover,
.audio-player-expanded.playing {
	opacity: 1
}

.progress-container {
	position: relative;
	height: 6px;
	background-color: var(--cor-separador, rgba(0, 0, 0, 0.08));
	border-radius: 3px;
	flex: 1;
	cursor: pointer;
	overflow: hidden
}

.progress-bar {
	height: 100%;
	background-color: var(--cor-primaria, #7209b7);
	border-radius: 3px;
	width: 0%;
	transition: width .1s ease-out
}

.progress-handle {
	position: absolute;
	width: 12px;
	height: 12px;
	background-color: var(--cor-primaria, #7209b7);
	border-radius: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity .2s ease;
	opacity: 0;
	pointer-events: none
}

.progress-container:hover .progress-handle {
	opacity: 1
}

.audio-time {
	position: absolute;
	bottom: -18px;
	right: 0;
	font-size: 12px;
	color: var(--cor-fonte-fraca, rgba(0, 0, 0, 0.56));
	white-space: nowrap;
	font-weight: 400
}

.volume-control {
	display: flex;
	align-items: center;
	margin-left: 16px;
	position: relative;
	min-width: 30px
}

.volume-control:hover .volume-slider {
	width: 60px;
	opacity: 1;
	margin-left: 8px
}

.volume-button {
	background: none;
	border: none;
	cursor: pointer;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	opacity: .7;
	transition: opacity .2s ease;
	flex-shrink: 0
}

.volume-button:hover {
	opacity: 1
}

.volume-icon {
	position: relative;
	width: 18px;
	height: 18px
}

.volume-icon:before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	background-color: var(--cor-fonte, #000);
	left: 0;
	top: 5px;
	border-radius: 1px
}

.volume-icon:after {
	content: "";
	position: absolute;
	border: 7px solid rgba(0, 0, 0, 0);
	border-left: none;
	border-right: 7px solid var(--cor-fonte, #000);
	left: 4px;
	top: 2px
}

.volume-slider {
	width: 0;
	height: 4px;
	appearance: none;
	background-color: var(--cor-separador, rgba(0, 0, 0, 0.08));
	border-radius: 2px;
	outline: none;
	opacity: 0;
	transition: all .3s ease;
	cursor: pointer;
	margin-left: 0
}

.volume-slider::-webkit-slider-thumb {
	appearance: none;
	width: 12px;
	height: 12px;
	background-color: var(--cor-primaria, #7209b7);
	border-radius: 50%;
	cursor: pointer
}

.volume-slider::-moz-range-thumb {
	width: 12px;
	height: 12px;
	background-color: var(--cor-primaria, #7209b7);
	border-radius: 50%;
	cursor: pointer;
	border: none
}

@media(max-width: 768px) {
	.audio-controls {
		flex-direction: column;
		align-items: flex-start
	}

	.audio-player-expanded {
		margin-left: 0;
		margin-top: 12px;
		max-width: 100%;
		width: 100%
	}

	.volume-slider {
		width: 60px;
		opacity: 1;
		margin-left: 8px
	}
}

@media(max-width: 480px) {
	body, .corpo, main, .container {
		overflow-x: hidden;
		max-width: 100vw
	}

	.container {
		padding-left: calc(var(--margem) / 2);
		padding-right: calc(var(--margem) / 2)
	}

	.progress-container {
		height: 8px
	}

	.progress-handle {
		width: 14px;
		height: 14px
	}

	.audio-time {
		position: static;
		margin-top: 6px;
		margin-left: auto;
		font-size: 11px
	}
}

.voice-sample-text {
	margin: 15px 0;
	padding: 10px;
	background-color: rgba(0, 0, 0, .05);
	border-radius: 5px
}

.voice-sample-text blockquote {
	margin: 10px 0;
	padding: 10px;
	border-left: 3px solid #ccc;
	font-style: italic
}

.recording-controls {
	margin: 15px 0;
	display: flex;
	flex-direction: column;
	gap: 10px
}

.recorded-audio-section {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 10px 0
}

.recorded-audio-section audio {
	width: 100%;
	margin-bottom: 10px
}

.processing-indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 15px 0
}

.loading-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(0, 0, 0, .1);
	border-radius: 50%;
	border-top-color: #3498db;
	animation: spin 1s ease-in-out infinite;
	margin: 10px 0
}

@keyframes spin {
	to {
		transform: rotate(360deg)
	}
}

.success-message {
	color: #2ecc71;
	font-weight: bold
}

.error-message {
	color: #e74c3c;
	font-weight: bold
}

.icone-mic:before {
	content: "🎤"
}

.icone-stop:before {
	content: "⏹️"
}

.bg-vermelho {
	background-color: #e74c3c;
	color: #fff
}

.privacy-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, .6);
	backdrop-filter: blur(4px);
	animation: fadeIn .3s ease
}

.privacy-modal.show {
	display: flex;
	justify-content: center;
	align-items: center
}

.privacy-modal-content {
	background-color: var(--fundo-modal, #fefefe);
	color: var(--cor-texto, #333);
	margin: 15px;
	border-radius: 12px;
	max-width: 500px;
	width: 100%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
	animation: slideUp .4s ease
}

.privacy-modal-header {
	padding: 16px 20px;
	border-bottom: 1px solid var(--cor-borda, #eee)
}

.privacy-modal-header h4 {
	margin: 0;
	font-size: 1.2rem
}

.privacy-modal-body {
	padding: 20px
}

.privacy-modal-body p {
	margin-bottom: 1rem;
	line-height: 1.5
}

.privacy-modal-body a {
	color: var(--cor-link, #3c6eff);
	text-decoration: underline
}

.privacy-modal-footer {
	padding: 16px 20px;
	border-top: 1px solid var(--cor-borda, #eee);
	display: flex;
	justify-content: flex-end;
	gap: 12px
}

.privacy-modal-footer .botao.secondary {
	background-color: rgba(0, 0, 0, 0);
	color: var(--cor-texto, #333);
	border: 1px solid var(--cor-borda, #ccc)
}

@keyframes fadeIn {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes slideUp {
	from {
		transform: translateY(50px);
		opacity: 0
	}

	to {
		transform: translateY(0);
		opacity: 1
	}
}

.lista-beneficios {
	list-style: none;
	padding: 0;
	margin: 20px 0;
	text-align: left;
}

.lista-beneficios li {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.5;
}

.story-avatar-wrap {
  position: relative;
  display: inline-block;
  overflow: visible !important; /* 🔥 evita corte do selo */
}

/* badge NEW */
.badge-new {
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #c63a31;
  color: #fff;
  font-size: 9px;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 10px;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index: 20; /* 🔥 sobrepõe o círculo */
}
/* =================== ESTILOS PARA MODO FUSION DUPLO (usado também no Debate) =================== */

.dual-fusion-selection {
	text-align: center;
	padding: 2rem 1rem;
	border-radius: 12px;
	margin-bottom: 1rem;
}

.fusion-progress h3 {
	margin-bottom: 1.5rem;
	font-weight: 600;
}

.selection-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 2rem 0;
	flex-wrap: wrap;
	gap: 1rem;
}

.step {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: 8px;
	transition: all 0.3s ease;
	min-width: 200px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.step.active {
	border-color: var(--cor-primaria);
}

.step.completed {
	border-color: #28a745;
	border-style: solid;
}

.step-number {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	flex-shrink: 0;
}

.step.active .step-number {
	background: var(--cor-primaria);
	color: white;
}

.step.completed .step-number {
	background: #28a745;
	color: white;
}

.step-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
}

.step-title {
	font-weight: 600;
	font-size: 0.9rem;
}

.step-name {
	font-size: 0.8rem;
	margin-top: 0.25rem;
}

.step-avatar {
	margin: 0;
	flex-shrink: 0;
}

.step-avatar img {
	border-radius: 50%;
	width: 48px;
	height: 48px;
	object-fit: cover
}

.step.completed .step-avatar img {
	border-color: #28a745;
}

.step-connector {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0 0.5rem;
	transition: color 0.3s ease;
}

.fusion-actions {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}

.selected-first-reflection {
	padding: 0.75rem;
	border-radius: 6px;
	border: 1px solid #e9ecef;
}

.empty-state {
	text-align: center;
	padding: 2rem;
}

.empty-state p {
	margin: 0;
	font-style: italic;
}

@media (max-width: 768px) {
	.selection-steps {
		flex-direction: column;
		gap: 0.5rem;
	}

	.step {
		min-width: auto;
		width: 100%;
		max-width: 300px;
	}

	.step-connector {
		transform: rotate(90deg);
		margin: 0.5rem 0;
	}

	.fusion-actions {
		flex-direction: column;
		align-items: center;
	}

	.modal-footer {
		flex-direction: column;
		gap: 0.5rem;
	}

	.modal-footer button {
		width: 100%;
	}
}
.drop-zone{border:2px dashed var(--cor-fonte-fraca);border-radius:8px;padding:var(--margem);text-align:center;cursor:pointer;transition:all 0.3s ease;}
.drop-zone.dragover{background-color:var(--cor-primaria-fraca);border-color:var(--cor-primaria);}
.drop-zone img{max-width:100%;max-height:300px;object-fit:contain;}
.preview-container{margin-top:var(--margem);}
.image-preview{max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;}
.upload-progress{margin-top:var(--margem);}
.upload-progress progress{width:100%;height:8px;}
.pos-video{top:8px;right:8px;}
.btn-submit{padding:10px 20px;background-color:var(--cor-primaria);color:white;border:none;border-radius:4px;cursor:pointer;font-weight:600;}
.btn-submit:hover{opacity:0.9;}
.btn-submit:disabled{opacity:0.5;cursor:not-allowed;}

.label-select-container {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: 0;
    justify-content: flex-start;
    width: auto
}

.checkbox-container {
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding-left: 30px;
    margin: 0
}

.checkbox-container input {
    margin: 0;
    cursor: pointer
}

.checkbox-container {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    background: rgba(255, 255, 255, .7);
    border-radius: 4px;
    padding: 3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    display: flex;
    align-items: center;
    justify-content: center
}

.checkbox-container:hover {
    background: var(--cor-primaria)
}

.pos-sel-all {
    margin: -8px 0
}

.linha {
	display: flex;
	align-items: center
}

.gap-pm {
    gap: calc(var(--margem)/2)
}

.modal-suggest {
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, .4);
    display: flex;
    justify-content: center;
    align-items: center
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer
}

.modal-options {
    padding: 10px;
    margin-bottom: 5px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch
}

.modal-option:hover {
    border: 2px solid #000;
    color: purple
}

/* Classe base genérica para cartões de reflection */
.reflection-card {
	height: 168px;
	width: 100%;
	max-width: 252px;
	display: block;
	margin-bottom: var(--margem);
	border-radius: calc(var(--margem)/2);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Classes específicas - mantidas para compatibilidade */
.cleopatra {
	background-image: url(../img/cleopatra.jpeg);
}

.nostradamus {
	background-image: url(../img/nostradamus.jpeg);
}

.openhimer {
	background-image: url(../img/openhimer.jpeg);
}

.alan {
	background-image: url(../img/alan.jpeg);
}

.jesus {
	background-image: url(../img/jesus.jpeg);
}

.einstein {
	background-image: url(../img/einstein.jpeg);
}

.newton {
	background-image: url(../img/newton.jpeg);
}

.tesla {
	background-image: url(../img/tesla.jpeg);
}

.edison {
	background-image: url(../img/Edison.jpg);
}
.pitagoras {
	background-image: url(../img/Pitagoras.jpg);
}
.arquimedes {
	background-image: url(../img/Arquimedes.jpg);
}
.euclides {
	background-image: url(../img/Euclides.jpg);
}
.bhaskara {
	background-image: url(../img/Bhaskara.jpg);
}
.rene {
	background-image: url(../img/Rene.jpg);
}
.eratostenes {
	background-image: url(../img/Eratostenes.jpg);
}
.darwin {
	background-image: url(../img/darwin.jpeg);
}

.turing {
	background-image: url(../img/turing.jpeg);
}

.joana {
	background-image: url(../img/joana.jpeg);
}

.churchill {
	background-image: url(../img/churchill.jpeg);
}

.jung {
	background-image: url(../img/jung.jpeg);
}

.enoque{
	background-image: url(../img/enoque.jpeg);
}

.freud{
	background-image: url(../img/freud.jpeg);
}

.alexander{
	background-image: url(../img/alexander.jpg);
}

.julio{
	background-image: url(../img/julioCesar.jpg);
}

.napoleon{
	background-image: url(../img/napoleon.jpg);
}

/* Aplicar estilo base às classes específicas */
.cleopatra,
.nostradamus,
.openhimer,
.alan,
.jesus,
.newton,
.tesla,
.edison,
.pitagoras,
.arquimedes,
.bhaskara,
.euclides,
.rene,
.eratostenes,
.darwin,
.turing,
.einstein,
.joana,
.churchill,
.jung,
.enoque,
.julio,
.napoleon,
.alexander,
.freud {
	height: 168px;
	width: 100%;
	max-width: 252px;
	display: block;
	margin-bottom: var(--margem);
	border-radius: calc(var(--margem)/2);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.hero {
	background: url(../img/hero-light.svg) left center/contain no-repeat, url(../img/deep-light.svg) right center/contain no-repeat, linear-gradient(80deg, var(--cor-primaria), var(--cor-fonte));
	height: 168px;
	width: 100%;
	max-width: 252px;
	display: block;
	margin-bottom: var(--margem);
	border-radius: calc(var(--margem)/2);
}

.banner {
	background: url(../img/banner.jpeg) center/cover no-repeat;
	height: 168px;
	width: 100%;
	max-width: 252px;
	display: block;
	margin-bottom: var(--margem);
	border-radius: calc(var(--margem)/2);
}

/* Loader Styles */
.loader-fullscreen {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center
}

.loader-content-centered {
    background-color: var(--cor-bg);
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column;
    align-items: center
}


.alerts-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    width: 300px
}

.alert {
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    animation: slideIn .3s ease-in-out
}

.alert-content {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.close-alert {
    background: rgba(0, 0, 0, 0);
    border: none;
    color: #000;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    opacity: .7
}

.close-alert:hover {
    opacity: 1
}

.alert-success {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d
}

.alert-error {
    background-color: #f2dede;
    border-color: #ebccd1;
    color: #a94442
}

.alert-info {
    background-color: #d9edf7;
    border-color: #bce8f1;
    color: #31708f
}

.alert-warning {
    background-color: #fcf8e3;
    border-color: #faebcc;
    color: #8a6d3b
}