* { margin: 0; padding: 0; box-sizing: border-box; }

::selection{background:#d6ebf5;color:#205581;}
::-moz-selection{background:#d6ebf5;color:#205581;}

body {
	font-family: 'Inter', 'Segoe UI', 'Roboto', sans-serif;
	background: #490d0d;
	background: linear-gradient(-45deg, #561602, #7e0734, #004a66, #01592a);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	height: 100vh;
	background-attachment: fixed;
}
body.app-unauth.page-home {
	background: linear-gradient(-45deg, #3b0f01, #4f0420, #013143, #013b1c);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

a {
	color: #60a7c9;
	text-decoration: none;
	border: 0;
	transition: all .3s ease-in-out;
}
a:hover {
	color: #fdb74d;
}

h1, h2, h3 {
	font-weight: 400;
	color: #e5ceae;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: .25em;
	margin: 0;
	padding: 0 0 10px;
	font-weight: 500;
}
h1 {
	font-size: 15pt;
	margin-bottom: 16px;
}
h2 {
	letter-spacing: .2em;
	font-size: 12pt;
}
h3 {
	letter-spacing: .15em;
	font-size: 10pt;
}
.page-privacy h2 {
	padding: 0 0 20px;
}
.page-privacy h3 {
	padding: 10px 0 10px;
}

hr {
	background: #0000001a;
	border: none;
	height: 1px;
	margin: 25px 0 30px;
	display: block;
}
ul, ol {
	margin: 0 0 16px;
	padding-left: 18px;
}
li::marker {
	color: #61666b;
	line-height: 28px;
}

code {
	color: #298988;
}

.right { text-align: right; }
.center { text-align: center; }
.hidden { display: none; }
.open { cursor: pointer; border-bottom: 1px dashed #00000033; }

.container { max-width: 1200px; margin: 0 auto; }
.page-register .container, .page-login .container {
	max-width: 800px;
}

.actions {
	display: flex;
	gap: 5px;
	align-items: center;
	margin-top: 10px;
}
.action {
	background: rgba(0,0,0,.1);
	padding: 1px 7px;
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
}
.action.s {
	font-size: 80%;
	padding: 1px 3px;
	border-radius: 4px;
}

.attr {
	color: #c4b5a1;
	font-style: italic;
	font-size: .8em;
}

.pagination {
	margin: 20px 0;
	text-align: center;
	color: #c4b5a1;
}
.pagination a {
	margin: 0 10px;
	text-decoration: none;
	color: #3498db;
}

.mt {
	margin-top: 10px;
}
.ml {
	margin-left: 5px;
}
.mr {
	margin-right: 5px;
}
.mb {
	margin-bottom: 10px;
}
.pt {
	padding-top: 33px !important;
}
.pl {
	padding-left: 33px !important;
}
.pr {
	padding-right: 33px !important;
}
.pb {
	padding-bottom: 40px !important;
}


.card {
	position: relative;
	border-radius: 24px;
	padding: 5rem 25px 2rem;
	margin: 2rem 10px 0; 
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  background: #fff9f1;
	border: 1px solid #e8dfd0;
  outline: 2px solid #a8a093;
  outline-offset: 2px;
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.03),
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
}
.card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 3px;
  background: #a8c4b8;
  border-radius: 0 0 4px 4px;
  pointer-events: none;
}


.page-login .card, .page-register .card {
	background: linear-gradient(-45deg, #70614c, #fff9f1, #d1e9ee, #5b86ac);
	background-size: 400% 400%;
	animation: gradient 30s ease infinite;
}
.page-login h1, .page-register h1 {
	color: #6caecd;
}



.corvette {
	position: relative;
}
.corvette.half {
	float: left;
	width: 49%;
}
.corvette.half.last {
	float: right;
}
.dock {
	clear: both;
	float: none;
}

.device {
	padding: 25px;
  background: #fff9f1;
  border-radius: 9px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin-bottom: 20px;
	position: relative;
}

.avatar {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 50%;
	position: relative;
	top: 5px;
	left: -3px;
	transition: all .3s ease-in-out;
}
.avatar.md {
	width: 75px;
	height: 75px;
}
.avatar.sm {
	width: 33px;
	height: 33px;
}
.avatar.frame {
	border: 1px solid #baa76eb3;
	box-shadow: inset rgba(255, 255, 255, .6) 0 0.3em 0.3em, inset rgba(0, 50, 100, .2) 0 -0.02em 0.4em, rgb(164, 164, 164) 0 1px 1px, rgba(0, 0, 0, .15) 0 0.2em 5px;
}
.avatar.lg.sq {
	width: 250px;
	height: 200px;
	border-radius: 25px;
}
.tv {
	display: inline-block;
	position: relative;
	padding: 5px;
}


.entry-area {
	padding-top: 25px;
	position: relative;
}
.entry {
	position: relative;
	float: left;
	margin: 0 10px 15px 0;
}
.entry .entry-delete {
	position: absolute;
	right: 1px;
	top: 5px;
	color: #55555555;
	cursor: pointer;
	width: 25px;
	height: 25px;
	line-height: 20px;
	text-align: center;
	font-size: 14pt;
}
.entry-user {
	padding: 0 0 7px;
	font-size: .85em;
	position: relative;
	left: -3px;
}
.entry-user.tiny-card a.userstr img.avatar.sm {
	width: 20px;
  height: 20px;
}
.entry-msg, .entry-msg-open {
	font-size: .8em;
	font-style: italic;
	max-height: 100px;
	overflow: hidden;
	cursor: pointer;
}
.entry-msg-open {
	max-height: none;
	width: 220px;
	overflow: visible;
	position: absolute;
	top: 45px;
	left: -20px;
	background: #fff;
	padding: 15px 12px 23px;
	border-radius: 5px;
	border: 1px dashed silver;
	z-index: 100;
	box-shadow: 
    0 4px 8px rgba(0, 0, 0, 0.08),
    0 1px 2px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}


/* СТИКЕРЫ */
.sticker {
	float: left;
	width: 150px;
	height: 150px;
  display: inline-block;
  padding: 1rem 1.2rem;
  font-size: 1rem;
  line-height: 1.4;
  color: #4a4538;
  text-decoration: none;
  background: #fff9e8;
  border-radius: 2px;
  /* Лёгкий перекос для реалистичности */
  transform: rotate(-1deg);
  /* Тень для объёма и отрыва от поверхности */
  box-shadow: 
    0 4px 8px rgba(0, 0, 0, 0.08),
    0 1px 2px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  /* Края чуть рваные */
  border-radius: 1px 2px 2px 1px;
  /* Лёгкий переход при наведении */
  transition: all 0.2s ease;
  /* Едва заметная граница для имитации края бумаги */
  outline: 1px solid rgba(0, 0, 0, 0.02);
  outline-offset: 0;
}
/* Эффект при наведении — чуть приподнимается */
.sticker:hover {
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 
    0 8px 16px rgba(0, 0, 0, 0.12),
    0 2px 4px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
/* ========== ЦВЕТА ========== */
/* Бледно-жёлтый (классический) */
.sticker.y {
  background: #fff9e0;
  background: linear-gradient(145deg, #fffae8, #fff5dc);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
/* Бледно-розовый */
.sticker.r {
  background: #fff0f0;
  background: linear-gradient(145deg, #fff5f5, #ffeaea);
  color: #735e5e;
}
/* Бледно-зелёный (мягкий, травяной) */
.sticker.g {
  background: #f0f8ec;
  background: linear-gradient(145deg, #f4faf0, #eaf4e4);
  color: #4a685a;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
/* Бледно-голубой */
.sticker.b {
  background: #f0f6ff;
  background: linear-gradient(145deg, #f5faff, #e8f0fe);
  color: #4a627a;
}
/* Бледно-лиловый (сиреневый, нежный) */
.sticker.v {
  background: #f5f0fd;
  background: linear-gradient(145deg, #faf5ff, #f0eaf8);
  color: #5e4a6e;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
/* Светло-бежевый (песочный, нейтральный) */
.sticker.l {
  background: #fdf7ed;
  background: linear-gradient(145deg, #fefaf2, #faf2e6);
  color: #6b5d4e;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
/* ========== ДОПОЛНИТЕЛЬНЫЕ ЭФФЕКТЫ ========== */
/* Эффект "отогнутого уголка" */
.sticker.corner {
  position: relative;
  overflow: hidden;
}
.sticker.corner::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, transparent 50%, rgba(0, 0, 0, 0.04) 50%);
  pointer-events: none;
}
/* Кусочек скотча */
.sticker.tape {
  position: relative;
}
.sticker.tape::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 25%;
  width: 50%;
  height: 16px;
  background: rgba(200, 180, 140, 0.15);
  border-radius: 3px;
  pointer-events: none;
}
/* Разные углы наклона для нескольких стикеров */
.sticker.lft {
  transform: rotate(-2deg);
}
.sticker.rght {
  transform: rotate(2deg);
}
.sticker.more {
  transform: rotate(3.5deg);
}


.reaction {
	cursor: pointer;
}
.liking {
	position: absolute;
	left: 25px;
	bottom: 0;
}
.like {
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 25px;
	height: 20px;
	background: transparent url("icons/heart.png") no-repeat 0 0;
	background-size: contain;
	filter: saturate(.25);
	opacity: .75;
	transition: all .3s ease-in-out;
}
.like.active {
	filter: saturate(1);
	opacity: 1;
}
.likes {
	position: absolute;
	left: 28px;
	bottom: 7px;
	font-size: 9pt;
	color: #ddd1c8;
}
.like.pulse {
	animation: reapulse .55s ease-in-out 1;
}
@keyframes reapulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.25);
	}
	100% {
		transform: scale(1);
	}
}



.item-header {
	float: none;
	clear: both;
	margin: 0 20px 0 0;
	padding-top: 33px;
}
.item-section-fluid {
	float: left;
	margin: 0 0 5px 0;
}
.item-section-fluid:has(.listed), .item-section-fluid:has(.action) {
	float: none;
	clear: both;
	margin: 0;
	padding: 10px 0 15px;
}
.item-section-fluid:has(.listed) .item-title, .item-section-fluid:has(.action) .item-title {
	font-weight: bold;
	opacity: .85;
}
.item-section-fluid:has(.item-list .action) {
	border-bottom: 1px solid #eee;
	padding: 10px 0;
	margin-bottom: 15px;
}
.item-line {
	padding: 0 0 0 25px;
	line-height: 1.4;
}
.item-section-fluid .item-line {
	margin-right: 20px;
}
.item-title {
	display: inline-block;
	margin-left: -25px;
	border-bottom: 1px solid #e5cfe5;
	padding: 0 15px 2px 0;
	text-transform: uppercase;
	font-size: 8pt;
	color: #87527b;
	position: relative;
}
.item-section-fluid .item-title {
	padding-right: 36px;
	cursor: pointer;
}
.item-section-fluid .item-my {
	padding-left: 10px;
}
.item-list-load {
	cursor: pointer;
	font-size: 9pt;
	display: inline-block; 
	padding: 3px 8px 2px;
	border: 1px solid #e5cfe5;
	border-radius: 5px;
	margin-left: 10px;
	transition: all .3s ease-in-out;
	background: #fff;
	background-image: linear-gradient(#ffffff33, #aa009511);
	position: absolute;
	bottom: -1px;
	right: -3px;
}

.listed {
	white-space: nowrap;
}
.listed a {
	font-size: 10pt;
	display: inline-block; 
	padding: 3px 9px 2px;
	border: 1px solid #e5cfe5;
	border-radius: 5px;
	margin: 0 3px 3px 0;
	transition: all .3s ease-in-out;
	background: #fff;
	background-image: linear-gradient(#ffffff33, #aa009511);
}
.area-main .listed a {
	color: #aa7070;
	border-color: #e5cdcd;
	background-image: linear-gradient(#ffffff33, #aa005011);
}
.area-prof .listed a {
	color: #718399;
	border-color: #d5d5e7;
	background-image: linear-gradient(#ffffff33, #0036aa11);
}
.area-pers .listed a {
	color: #916591;
	border-color: #cbbbcb;
}
.listed a:hover {
	background: #fed;
}


.item-list:has(.action) {
	padding: 5px 5px 15px;
}

.listed .action {
	margin-right: 9px;
}





.user-cards {
	padding-top: 25px;
	display: grid;
	grid-template-columns: 33% 33% 33%;
}
.user-card {
	position: relative;
	display: block;
  padding: 1em 1.2em 2.5em;
  background: #f9f4e8; /* #faf7ee */
  color: #8b7d6b;
  border-radius: 12px;
  border: 1px solid #ddd0b0;
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.8),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.05),
		0 2px 5px rgba(88,45,9,0.1);
  letter-spacing: 0.02em;
	margin: 0 20px 20px 0;
}
.user-card a.userstr img.avatar.sm {
	width: 44px;
  height: 44px;
}
.mini-card {
	position: relative;
}
.mini-card a.userstr {
	display: inline-block;
	padding: 3px 10px 5px;
  background: #f5f0e0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border-radius: 9px;
  border: 1px solid #ddd0b0;
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.8),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.05);
	margin: 0 7px 10px 0;
	font-size: 11pt;
}
.mini-card.sm a.userstr {
	padding: 1px 8px 3px;
  font-size: 10pt;
	margin: 0 5px 8px 0;
}
.mini-card.current a.userstr {
	font-weight: bold;
}
a.userstr {
	color: #8b7d6b;
}
a.userstr:hover {
	color: #fdb74d;
}
.tiny-card a.userstr {
	display: inline-block;
}
.mini-card a.userstr img.avatar.sm {
	width: 23px;
  height: 23px;
}
.mini-card.sm a.userstr img.avatar.sm, .tiny-card a.userstr img.avatar.sm {
	width: 18px;
  height: 18px;
	top: 3px;
}

.unread-badge {
	position: absolute;
	right: 4px;
	top: -10px;
	display: inline-block;
	background: #e74c3c;
	color: white;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	text-align: center;
	line-height: 18px;
	font-size: 9px;
	z-index: 100;
}


.numbers {
	position: absolute;
	top: -7px;
	right: 1.2em;
}
.numbers.added {
	top: auto;
	bottom: .2em;
}
.indicator {
	display: inline-block;
  font-family: 'Courier New', 'VT323', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.3em 0.7em 0.2em;
  background: #f5f0e0;
  color: #8b7d6b;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border-radius: 4px;
  border: 1px solid #ddd0b0;
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.8),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.05);
  letter-spacing: 0.05em;
}
.indicator.info {
	background: #dceaf2;
	color: #719ac2;
	border: 1px solid #b0c3dd;
	margin: 0 5px;
}
.indicator.warning {
	background: #f7dbd8;
	color: #c27171;
	border: 1px solid #ddc3b0;
	margin: 0 5px;
}

.recipe, .flash {
	font-size: 0.8rem;
  padding: 10px 28px;
  background: #f5f0e0;
  color: #8b7d6b;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border-radius: 0 9px 9px 0;
  border: 1px solid #ddd0b0;
	border-left: 0;
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.8),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.05);
	margin: 20px 20px 10px -25px;
}
.recipe.description {
	margin: 10px 0 15px -18px;
	background: #e3f0ff4b;
}
.recipe {
	border-radius: 0 7px 16px 0;
}
.recipe a {
	border-bottom: 1px solid #00000011;
	padding-bottom: 1px;
}
.recipe.total {
	padding-bottom: 15px;
	margin: 20px 20px 10px -25px;
}
.flash {
	font-size: 0.9rem;
	color: #8b7d6b;
	margin: 10px 0;
	border-left: 1px solid #ddd0b0;
	border-radius: 9px;
}
.notice {
	color: #9b5149;
}

.delicate {
	padding: 0 0 5px;
	border-bottom: 1px solid #ddd0b0;
	margin: 10px 0;
}
.delicate.u {
	padding: 0 0 20px;
	border-bottom: 1px solid #55555522;
	margin: 10px 0 20px;
}

.messages {
	padding-top: 20px;
}
.message {
	padding: 20px 25px 10px;
	border-radius: 16px;
	border: 1px dotted #ffcc0088;
	outline: 1px solid #a8a09377;
  outline-offset: 2px;
	background: #f9f1e7;
	max-width: 800px;
	margin-bottom: 16px;
}
.message.my {
	margin-left: 75px;
}
.message.their {
	margin-right: 75px;
	background: #f9f7e4;
}




/* FORMS */

/* Базовые переменные */
:root {
  --form-bg: #fffdf8;
  --form-border: #e0d6c8;
  --form-focus: #a8c4b8;
  --form-text: #5c5346;
  --form-placeholder: #c4bcae;
  --toggle-off: #d4ccc0;
  --toggle-on: #72aecc;
  --toggle-knob: #fefcf8;
}

.element {
  margin-bottom: 1.2rem;
}

input,
textarea,
select {
  width: 100%;
	max-width: 750px;
  padding: 0.6rem 0.8rem;
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--form-text);
  background: var(--form-bg);
  border: 1.5px solid var(--form-border);
  border-radius: 12px;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
input.reduce, select.reduce {
	width: 55%;
}
input.mini, select.mini {
	width: 100px;
}
input.compact, select.compact {
	padding: 0.2rem 0.6rem;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--form-focus);
  box-shadow: 0 0 0 3px rgba(168, 196, 184, 0.2);
}

input::placeholder,
textarea::placeholder {
  color: var(--form-placeholder);
  font-weight: 400;
}

textarea {
  min-height: 80px;
  resize: vertical;
  font-family: inherit;
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b0a898' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  cursor: pointer;
}

input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 36px;
  height: 20px;
  background: var(--toggle-off);
  border-radius: 24px;
  border: 1px solid var(--form-border);
  position: relative;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
}
input[type="checkbox"]::before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  background: var(--toggle-knob);
  border-radius: 50%;
  top: 1.5px;
  left: 2px;
  transition: transform 0.25s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
input[type="checkbox"]:checked {
  background: var(--toggle-on);
  border-color: var(--toggle-on);
}
input[type="checkbox"]:checked::before {
  transform: translateX(16px);
}
input[type="checkbox"]:focus {
  box-shadow: 0 0 0 3px rgba(123, 163, 154, 0.25);
}

label {
  display: block;
  color: var(--form-text);
  font-size: 0.9rem;
  cursor: pointer;
	padding-bottom: 5px;
}

label:has(input[type="checkbox"]) {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

/* end FORMS */




.button {
	border: 0;
	cursor: pointer;
	position: relative;
	display: inline-block;
	font-size: 10.5pt;
	color: #ffffff;
	text-shadow: rgba(0, 0, 0, .2) 0 -1px 0, rgba(0, 0, 0, .2) 0 .18em .15em;
	text-decoration: none;
	user-select: none;
	padding: .55em 1.2em .35em;
	margin-bottom: 5px;
	border-radius: 20px;
	border-top: 0px solid rgba(255, 255, 255, .1);
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	outline: none;
	background: #0776ab radial-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, .5));
	box-shadow: inset rgba(255, 255, 255, .6) 0 0.3em 0.3em, inset rgba(0, 50, 100, .2) 0 -0.02em 0.4em, rgb(164, 164, 164) 0 1px 1px, rgba(0, 0, 0, .15) 0 0.2em 5px;
	transition: all .3s ease-in-out;
} 
.button:hover {
	background-color: #6cb7db;
	color: #eeffff;
}
.button::before {
	content: "";
	position: absolute;
	height: 62%;
	top: 0;
	left: 5px;
	right: 1%;
	border-radius: .75em;
	background-image: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, .15));
	transition: all .3s ease-in-out;
}
.button::after {
	content: "";
	position: absolute;
	height: 2%;
	bottom: 1px;
	left: 6%;
	right: 5%;
	border-radius: .75em;
	background-image: linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, .7));
	filter: blur(1px);
}
.button:active {
	box-shadow:
		inset rgba(255,255,255,.6) 0 .3em .3em,
		inset rgba(0,50,100,.2) 0 -0.02em 0.4em, 
		rgb(90,138,160) 0 1px 1px,
		rgba(0,0,0,.2) 0 .05em 1px;
}
.button:active:before {
		opacity: .6;
}
.button:hover::before {
		background-image: linear-gradient(rgba(255, 255, 255, .6), rgba(255, 255, 255, .2));
}

.buttons {
	display: flex;
	position: relative;
	padding-bottom: 5px;
	width: auto;
}
.buttons .button {
	border-radius: 0;
}
.buttons .button::before {
	left: 0;
	right: 0;
	border-radius: 0;
}
.buttons .button:first-child {
	border-radius: 20px 0 0 20px;
}
.buttons .button:first-child::before {
	left: 5px;
	border-radius: .75em 0 0 .75em;
}
.buttons .button:last-child {
	border-radius: 0 20px 20px 0;
}
.buttons .button:last-child::before {
	right: 1%;
	border-radius: 0 1.8em .75em 0;
}

.button.lg, .buttons.lg .button {
	font-size: 12pt;
	padding: .6em 1.5em .35em;
}
.button.md, .buttons.md .button {
	font-size: 10.3pt;
	padding: .35em .95em .28em;
}
.button.sm, .buttons.sm .button {
	font-size: 9.3pt;
	padding: .30em .85em .23em;
}
.button.xs, .buttons.xs .button {
	font-size: 8pt;
	padding: .2em .55em .15em;
}

.button.right {
	border-radius: 9px 20px 20px 9px;
	top: 2px;
}
.button.right::before {
	border-radius: .25em .75em .75em .25em;
	left: 3px;
}

.button.silver, .buttons.silver .button {
	background-color: #a1a1a1;
}
.button.silver:hover, .buttons.silver .button:hover {
	background-color: #cecece;
}
.button.orange, .button.active, .buttons.orange .button, .buttons .button.active {
	background-color: #dc8528;
}
.button.orange:hover, .button.active:hover, .buttons.orange .button:hover, .buttons .button.active:hover {
	background-color: #e1ab48;
}
.button.green, .buttons.green .button {
	background-color: #1a8c2b;
}
.button.green:hover, .buttons.green .button:hover {
	background-color: #60c16f;
}
.button.olive, .buttons.olive .button {
	background-color: #c4af70;
}
.button.olive:hover, .buttons.olive .button:hover {
	background-color: #cfc39e;
}

.button.label, .buttons .button.label, .button.label:hover, .buttons .button.label:hover {
	cursor: default;
	background-color: #a6c3d8;
}



.filters {
	padding-bottom: 10px;
}
.filters a {
	margin-right: 10px;
	white-space: nowrap;
	font-size: 11.5pt;
}
.filters.sm a {
	font-size: 10pt;
}
.filters a.active {
	color: #e78642;
}
.filters a.active:hover {
	color: #fba162;
}
.button .info, .filters a .info {
	display: inline-block;
	margin-left: 7px;
	line-height: 1;
	font-size: 80%;
	opacity: .75;
	font-style: italic;
}
.filters a .info {
	margin-left: 0;
	opacity: .5;
	font-size: 70%;
}




.top-navigation {
	position: fixed;
	top: 12px;
	left: 0; right: 0;
	text-align: center;
	z-index: 1000;
	display: grid;
}
.top-navigation .buttons {
	justify-self: center;
}
.top-navigation .avatar.sm {
	position: absolute;
	left: 5px;
	top: -7px;
	width: 50px;
	height: 50px;
}
.top-navigation .buttons .button.user-button {
	padding-left: 4.4em;
}

.top-navigation .avatar.frame.sm {
	border: 1px solid #77b4d1;
}

.top-navigation .button img.icon {
	display: none;
}




.project {
	padding-top: 0;
	padding-bottom: 25px;
}



.junember {
	position: fixed;
	top: 50px;
	left: 5%;
	right: 5%;
	text-align: center;
	z-index: 900;
}

.junember a {
	display: inline-block;
  letter-spacing: 2em;
	font-size: 8pt;
	padding: 16px 10px 16px 25px;
	background: #fff9f133;
	border: 1px solid #fff9f1;
	border-top: 0;
	border-radius: 0 0 25px 25px;
	backdrop-filter: blur(10px);
	font-weight: bold;
	text-transform: uppercase;
	transition: all .5s ease-in-out;
}

.app-unauth.page-home .junember {
	position: static;
	top: auto;
	left: auto;
	right: auto;
	display: block;
	text-align: center;
	font-size: 10vw;
	letter-spacing: 1rem;
	font-weight: 800;
	padding: 0;
	background: transparent;
	text-transform: uppercase;
	letter-spacing: 0.2em; /* лучше, чем 1rem, адаптируется к размеру шрифта */
	word-break: keep-all;
	-webkit-text-stroke: 7px rgba(255,255,255,.25);
	pointer-events: none;
	user-select: none;
}



/* Базовая анимация для обеих частей */
.app-unauth.page-home .junember .jun,
.app-unauth.page-home .junember .ember {
    display: inline-block;
    transition: all 0.3s ease;
}

/* JUN — тёплое марево */
.app-unauth.page-home .junember .jun {
    color: #ffb85e;
    text-shadow: 0 0 8px rgba(255, 140, 50, 0.5);
    animation: junPulse 5s infinite alternate;
}

/* EMBER — туманный холодок */
.app-unauth.page-home .junember .ember {
    color: #86b5ce;
    text-shadow: 0 0 8px rgba(100, 140, 170, 0.4);
    animation: emberPulse 7s infinite alternate;
}

/* Искры над Ember */
.app-unauth.page-home .junember .ember {
    position: relative;
}

.app-unauth.page-home .junember .ember::before {
    content: '';
    position: absolute;
    top: -20%;
    left: 10%;
    width: 80%;
    height: 140%;
    background: radial-gradient(circle, rgba(200, 140, 100, 0.2) 0%, rgba(0,0,0,0) 80%);
    filter: blur(12px);
    pointer-events: none;
    animation: cinderFade 4s infinite alternate;
}

/* Тепловое марево над Jun */
.app-unauth.page-home .junember .jun::after {
    content: '';
    position: absolute;
    bottom: -15%;
    left: 5%;
    width: 90%;
    height: 50%;
    background: radial-gradient(circle, rgba(255, 160, 80, 0.15) 0%, rgba(0,0,0,0) 90%);
    filter: blur(10px);
    pointer-events: none;
    animation: heatHaze 6s infinite alternate;
}

@keyframes junPulse {
    0% {
        text-shadow: 0 0 5px rgba(255, 100, 30, 0.2);
        color: #ffbc6e;
    }
    100% {
        text-shadow: 0 0 20px rgba(255, 80, 40, 0.7);
        color: #ff9542;
    }
}

@keyframes emberPulse {
    0% {
        text-shadow: 0 0 7px rgba(100, 150, 180, 0.5);
        color: #92c1db;
    }
    100% {
        text-shadow: 0 0 20px rgba(70, 120, 160, 0.8);
        color: #639bb9;
    }
}

@keyframes cinderFade {
    0% { opacity: 0.2; transform: scale(1); }
    100% { opacity: 0.6; transform: scale(1.05); }
}

@keyframes heatHaze {
    0% { opacity: 0.3; transform: translateY(0px); }
    100% { opacity: 0.7; transform: translateY(5px); }
}


.app-unauth.page-home .project.container {
	padding-top: 80px;
	max-width: none;
}




.tiles {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.tiles.c {
	align-items: center;
}
.tiles.b {
	align-items: flex-end;
}
.tile {
	flex: auto 0 0;
}
.tiles.t50 .tile {
	flex: 50% 0 0;
}
.tiles .tile.c {
	align-self: center;
}
.tiles .tile.b {
	align-items: flex-end;
}

.intro {
	padding: 20px;
	color: #ffffff77;
}
.intro p {
	font-size: 1.08em;
	line-height: 1.4;
	padding-bottom: 15px;
	letter-spacing: 0.01em;
}
.intro p a {
	color: #ffffffaa;
	border-bottom: 1px solid #ffffff22;
	padding-bottom: 1px;
}
.intro p a:hover {
	color: #ffffeedd;
}
.preface {
	text-align: right;
	border-bottom: 1px solid #ffffff33;
}
.prologue {
	margin-top: 20px;
	float: right;
	border-top: 1px solid #ffffff33;
	padding-top: 20px;
	padding-right: 150px;
}
.prologue p {
	font-size: 1em;
}
.dialogues {
	padding-top: 25px;
	padding-left: 200px;
}

.intro.preface p {
	padding-bottom: 9px;
}
.preface p span {
	display: inline-block;
	padding: 2px 12px;
	background: #ffeedd22;
	border-radius: 16px;
	margin: 0 3px;
	position: relative;
	overflow: hidden;
	top: 7px;
}
.preface p span::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -20%;
	width: 75%;
	height: 200%;
	filter: blur(10px);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transform: rotate(25deg);
	animation: slideGlow 7s infinite ease-in-out;
}
@keyframes slideGlow {
		0% { left: -20%; opacity: 0; }
		30% { opacity: 0.5; }
		70% { opacity: 0.3; }
		100% { left: 120%; opacity: 0; }
}

.law {
	text-align: center;
	font-size: 9pt;
	opacity: .6;
}
.page-home .law {
	margin-top: 20px;
}

.petal {
	text-align: left;
	width: -moz-fit-content;
  width: fit-content; 
	margin: 0 auto;
	border: 1px dotted #ffcc0088;
	outline: 1px solid #a8a09377;
  outline-offset: 2px;
	padding: 8px 18px 7px;
	border-radius: 16px;
	background: #c75b5b;
	position: relative;
	font-size: .9em;
	color: #ffddbbcc;
	filter: brightness(.85);
	animation: petalFade 4s infinite alternate;
	transition: all .3s ease-in-out;
	cursor: default;
}
.petal:hover {
	filter: brightness(1);
	transform: scale(1.02);
	z-index: 100;
}
.petal.petal-m-1 {
	left: 5px;
	top: 3px;
}
.petal.petal-m-2 {
	left: -5px;
	top: 1px;
}
.petal.petal-m-3 {
	left: 20px;
	top: -1px;
}
.petal.petal-m-4 {
	left: -25px;
	top: -4px;
}
.petal.petal-m-4 {
	left: 33px;
	top: 2px;
}
.petal.petal-c-1 {
	background: #c26247;
}
.petal.petal-c-2 {
	background: #a35c97;
}
.petal.petal-c-3 {
	background: #b49055;
}
.petal.petal-c-4 {
	background: #9d4e6d;
}
.petal.petal-c-5 {
	background: #c44d4d;
}
.petal.petal-f-1 {
	animation: petalFade 5s infinite alternate;
}
.petal.petal-f-2 {
	animation: petalFade 6s infinite alternate;
}
.petal.petal-f-3 {
	animation: petalFade 7s infinite alternate;
}
.petal.petal-f-4 {
	animation: petalFade 8s infinite alternate;
}
.petal.petal-f-5 {
	animation: petalFade 9s infinite alternate;
}
@keyframes petalFade {
    0% { opacity: .5; }
    100% { opacity: .9; }
}
.petal.petal-first {
	padding-left: 25px;
}
.petal .avatar.sm {
	position: absolute;
	left: -17px;
	top: -7px;
}

.avs {
	text-align: center;
}
.avs .avatar {
	opacity: .75;
}
.avs .avatar:hover {
	opacity: 1;
	transform: scale(1.05);
}




/* adaptive */

@media (max-width: 1200px) { 
	.app-unauth.page-home .junember { -webkit-text-stroke: 5px rgba(255,255,255,.25); } 
}
@media (max-width: 800px) { 
	.mhide { display: none; }

	h1, h2, h3 { letter-spacing: 0; }
	h1 { font-size: 14pt; }
	.app-unauth.page-home .junember { font-weight: 800; -webkit-text-stroke: 3px rgba(255,255,255,.25); } 
	.tiles.t50 .tile { flex: 100% 0 0; }
	.intro { padding: 0 20px 20px; }
	.preface { text-align: left; border: 0; padding-left: 30px; }
	.intro p { font-size: .9em; }
	.avs { text-align: right; padding-bottom: 30px; }
	.avs .avatar.md { width: 45px; height: 45px; }
	.dialogues { padding-top: 40px; }
	.petal { padding: 5px 12px 4px; font-size: .85em; }
	.prologue { padding: 0 20px 0 30px; border: 0; }
	.intro.preface p { padding-bottom: 3px; }
	.preface p span { display: inline; padding: 0; background: transparent; margin: 0; position: static; top: 0; font-weight: 700; color: #eee5dcab; }
	.preface p span::after { display: none; }
	.card { margin: 1rem 10px 0; padding: 5rem 15px 2rem; }
	.page-login .card, .page-register .card { padding-top: 6rem; }
	.corvette.half, .corvette.half.last { float: none; width: 100%; clear: both; }
	.sticker { width: 120px; height: 120px; }
	.device { padding: 15px 15px 25px; }
	.recipe { margin-left: -15px; }
	.entries-etc-btn { float: none; clear: both; }
	.entry-msg { max-height: 70px; }
	.entry-msg-open { width: 180px; }
	.user-cards { grid-template-columns: 100%; }
	.button { padding-left: 1em; padding-right: 1em; font-size: 10pt; }
	.listed a { font-size: 9.5pt; padding: 3px 7px 2px; margin: 0 2px 3px 0; }
	.indicator { font-size: 0.70rem; letter-spacing: 0; }
	.message.my { margin-left: 25px; }
	.message.their { margin-right: 25px; }
	.avatar.lg.sq { width: 175px; height: 150px; border-radius: 20px; }
	.ltr-count.info .count { position: absolute; bottom: -3px; right: 5px; background: #fff; display: inline-block; border-radius: 3px; padding: 2px 5px 1px; color: #60a7c9; font-style: normal; font-size: 8pt; z-index: 100; }

	.app-auth .junember { top: 36px; }
	.app-auth .top-navigation { top: 0; }
	.app-auth .top-navigation .buttons .button:first-child, .app-auth .top-navigation .buttons .button:last-child { border-radius: 0; }
	.app-auth .top-navigation .buttons { width: 100%; }
	.app-auth .top-navigation a.button { flex: 21% 0 0; padding-left: 0; padding-right: 0; }
	.app-auth .top-navigation a.button.exit { flex: 16% 0 0; }
	.app-auth .top-navigation a.button span.label { display: none; }
	.app-auth .top-navigation .avatar.sm, .app-auth .top-navigation .button img.icon { display: block; position: absolute; left: 50%; top: 50%; max-height: 45px; transform: translateX(-50%) translateY(-50%); }
	.app-auth .top-navigation .avatar.sm { top: 56%; }
	.app-auth .top-navigation .button img.icon { max-height: 35px; }
	.app-auth .top-navigation .button img.icon.icon-dashboard { max-height: 48px; }
	.app-auth .top-navigation .button img.icon.icon-radar { max-height: 44px; }
	.app-auth .top-navigation .button img.icon.icon-exit { max-height: 18px; }
	
}








