.desc{
	font-weight:bold;
}
.button{
  display:inline-block;
  padding:10px;
  margin:5px;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(0,0,0,.25);
  color:#111;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
/* preferred long-term 
.button{ margin:0; }
.hero-actions .button,
.actions .button{ margin:5px; }*/
/* Variants */
.button.primary{
  background:var(--color-danger);
  color:#fff;
  border-color:#B00000;
}
.button.secondary{
  background:rgba(255,255,255,.06);
  color:#111;
  border-color:rgba(0,0,0,.25);
}
.selectedyear{
	background:#FE0B01 !important;
  border-color:#FE0B01 !important;
  color:#fff !important;
  font-weight:600 !important;
}
.button.danger{
  background:#B00000;
  color:#fff;
  border-color:#800000;
}
.button.small{
  padding:8px 12px;
  font-size:.92em;
  border-radius:7px;
}
/* Hover (yes, add it) */
.button:hover{
  filter:brightness(1.05);
}
/* Optional: focus visible for accessibility */
.button:focus-visible{
  outline:2px solid rgba(214,0,0,.35);
  outline-offset:2px;
}
.button:disabled,
.button.disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:none;
}
.disabled{
	cursor:not-allowed;
	color:grey;
}
.actSes{
	margin-left:auto;
	margin-right:auto;
}
.actSes div:not(.remain,,#remainigText.history-panel,.bar-fill){
	margin:5px;	
}
.actSes .acts{
	margin:20px;
}
.actSes .acts .public{
	display:inline-block;
	height:100%;
}
.actSes .acts .public .desc{
	display:block;
}
.actSes .end{
	max-width:500px;
  margin:22px auto 0;
  text-align:center;
}
.actSes .games{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}		
.games .dice,.games .luck,.games .link{
	padding-right:15px;
	padding-left:15px;
	border:2px solid black;
	width:fit-content;
}
.game-history-block{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
  width:100%;
}
.game-history-item{
  flex:0 1 360px;           /* column width */
  max-width:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.game-history-btn{
  width:100%;
}
.game-history-item .history-panel{
  width:100%;
  margin-top:10px;
}
.history-panel{
  background:#eef3f7;
  border-left:4px solid #2c3e50;
  padding:6px;
  border-radius:6px;
	max-width:fit-content;
  margin:auto;
}
.history-entry{
  margin-bottom:10px;
  padding:10px;
  border-left:6px solid #999;
	background:#FFFFFF;
  box-shadow:0 1px 2px rgba(0,0,0,0.05);
  border-radius:6px;
}
.history-entry.insert{ border-left-color:#0C0; }   /* green */
.history-entry.update{ border-left-color:#F0AD4E; }/* orange */
.history-entry.delete{ border-left-color:#D9534F; }/* red */
.history-meta{
  font-size:0.9em;
  opacity:0.85;
  margin-bottom:6px;
}
.history-tag{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:0.85em;
  margin-left:6px;
  background:#DDD;
}
.history-entry.insert .history-tag{ background:#0C0; color:#FFF; }
.history-entry.update .history-tag{ background:#F0AD4E; color:#000; }
.history-entry.delete .history-tag{ background:#D9534F; color:#FFF; }
.alllinks{
	margin-left:auto;
	margin-right:auto;
}
.alllinks div{
	margin:5px;	
}
.alllinks .links{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.link{
	padding-right:5px;
	padding-left:5px;
	border:2px solid black;
}
.linkimg{
	height:50px;
}
.allusers{
	margin-left:auto;
	margin-right:auto;
}
.allusers div{
	margin:3px;
	align-items:center;
	display:flex;
}
.tosearch div{
	margin:0px;
}
.allusers .users{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.user{
	display:flex;
	flex-flow:row;
	padding-right:5px;
	padding-left:5px;
	border:2px solid black;
}
.userimg{
	height:50px;
}
.statisticspage{
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.tosearch{
	display:flex;
	flex-flow:column;
	justify-content:center;
	align-items:center;
}
.yearsbutton{
	position:sticky;
	top:0;
	z-index:10;
	padding-bottom:10px;
}
.chartemoji{
  font-size:30px;
  vertical-align:middle;
  line-height:2;
}
.chart{
	max-height:250px;
	max-width:500px;
}
.chartsdiv{
	display:flex;
	flex-wrap:wrap;
  justify-content:center;
}
#popup{
	display:none;
	position:fixed;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	width:90%; /* Adjust width for responsiveness */
	max-width:400px; /* Limit the maximum width */
	background-color:#DDDDDD;
	box-shadow:0 4px 8px rgba(0, 0, 0, 0.2);
	padding:20px;
	z-index:1000;
	border-radius:8px;
}
#popup textarea{
	width:95%;
	height:auto;
	min-height:200px; /* Minimum height for textarea */
	max-height:400px; /* Prevent it from becoming too large */
	resize:none; /* Disable manual resizing */
	padding:10px;
	font-size:16px;
	line-height:1.5;
	border:1px solid #ccc;
	border-radius:4px;
}
#popup div{
	width:95%;
	height:auto;
	min-height:200px; /* Minimum height for textarea */
	max-height:400px; /* Prevent it from becoming too large */
	resize:none; /* Disable manual resizing */
	padding:10px;
	font-size:16px;
	line-height:1.5;
	border:1px solid #ccc;
	border-radius:4px;
	overflow-y: scroll;
}
#savePopup{
	padding:10px 20px;
	border:none;
	background-color:#0C0;
	color:white;
	cursor:pointer;
	border-radius:4px;
	font-size:16px;
	margin-top:10px;
	opacity:1;
}
#savePopup:hover{
	opacity:0.5;
}
#closePopup{
	padding:10px 20px;
	border:none;
	background-color:#C00;
	color:white;
	cursor:pointer;
	border-radius:4px;
	font-size:16px;
	margin-top:10px;
	opacity:1;
}
#closePopup:hover{
	opacity:0.5;
}
/* Overlay styles */
#overlay{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.5);
	z-index:999;
}
.profile-img:hover{
  opacity: 0.7;
}
.modal{
  display:none;
  position:fixed;
  z-index:1;
  padding-top:50px;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
  width:80%;
	max-height:95%;
	margin:auto;
  overflow:auto;
  background-color:rgb(0,0,0);
  background-color:rgba(0,0,0,0.9);
}
.modal-content{
  margin: auto;
  display: block;
  width: 90%;
  max-width: 700px;
}
#caption{
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
}
.modal-content,#caption{
  -webkit-animation-name: zoom;
  -webkit-animation-duration: 0.6s;
  animation-name: zoom;
  animation-duration: 0.6s;
}
.close{
  position:absolute;
  top:15px;
  right:35px;
  color:#F1F1F1;
  font-size:40px;
  font-weight:bold;
  transition:0.3s;
}
.close:hover,.close:focus{
  color:#bbb;
  text-decoration:none;
  cursor:pointer;
}
@-webkit-keyframes zoom{
  from{
    -webkit-transform: scale(0)
  }
  to{
    -webkit-transform: scale(1)
  }
}
@keyframes zoom{
  from{
    transform:scale(0.1)
  }
  to{
    transform:scale(1)
  }
}
#suggestions{
	display:none;
	border:1px solid #CCC;
	background:#FFF;
	list-style:none;
	padding:0;
	margin:0;
	position:relative;
	z-index:1000;
	max-height:150px;
	overflow-y:auto;
	width:200px;
}
#suggestions li{
	padding:8px 10px;
	cursor:pointer;
	transition:background 0.2s ease;
}
#suggestions li:hover,
#suggestions li.active {
	background-color:#F0F0F0;
}
.age-gate{
  position:fixed;
  width:100%;
	height:100%;
  color:#FFF;
  display:none;
  justify-content:center;
  align-items:center;
  z-index:9999;
	inset:0;
}
.age-gate-content{
  background:#222;
  padding:2rem;
  border-radius:10px;
  text-align:center;
	 margin-bottom:1.5em;
  font-size:1.1em;
  line-height:1.4;
}
.age-gate button{
  margin-top:1rem;
  padding:0.5rem 1rem;
  font-size:1rem;
  cursor:pointer;
}
.combo-box{
  position:relative;
  width:100%;
}
.dropdown{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  border:1px solid #ccc;
  background:white;
  display:none;
  max-height:150px;
  overflow-y:auto;
  z-index:1000;
  box-shadow:0 2px 4px rgba(0,0,0,0.1);
}
.dropdown-option{
  padding:8px;
  cursor:pointer;
}
.dropdown-option:hover{
  background:#f0f0f0;
}
#adblock-popup {
  display:none;
  position:fixed;
  top:0; left:0; right:0; bottom:0;
  background:rgba(0,0,0,0.6);
  z-index:9999;
}
#adblock-popup .box {
  background:#fff;
  color:#333;
  max-width:400px;
  margin:100px auto;
  padding:20px;
  border-radius:10px;
  text-align:center;
  box-shadow:0 0 15px rgba(0,0,0,0.3);
  font-family:sans-serif;
}
#adblock-popup button {
  margin-top:15px;
  padding:8px 16px;
  border:none;
  border-radius:5px;
  background:#007bff;
  color:#fff;
  cursor:pointer;
}
@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-10px);}
  to {opacity: 1; transform: translateY(0);}
}
@media all and (min-width:321px) and (max-width:600px){
	.user{
		flex-flow:column wrap;
	}
}
@media all and (min-width:0px) and (max-width:320px){
	.user{
		flex-flow:column wrap;
	}
}
/* ===========================
   Platform UI blocks (Homepage + Dashboard)
   Drop-in: use classes .home-wrap .hero .home-card .tile etc.
   =========================== */
.home-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:16px;
  text-align:center;
}
.hero{
  padding:18px 0 10px 0;
}
.hero h1{
  margin:6px 0;
}
.hero p{
  margin:6px auto 0 auto;
  opacity:.92;
  max-width:820px;
}
.home-card{
  border-radius:14px;
  padding:16px;
  margin:14px 0;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  text-align:left;
}
.home-card h3{
  margin:0 0 10px 0;
  text-align:center;
}
.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-size:.9em;
  opacity:.95;
}
.small-note{
  opacity:.82;
  font-size:.92em;
  margin:8px auto 0 auto;
  max-width:820px;
  text-align:center;
}
.hero .small-note{ margin-top:10px; }
.hero-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}
.mt12{ margin-top:12px; }
.center{ text-align:center; }
.value.sm{ font-size:1.15em; }
.unlock-available{
  border-color: rgba(0, 140, 0, .35) !important;
  box-shadow: 0 6px 18px rgba(0, 140, 0, .12) !important;
}
.unlock-available .value{
  color: #0a6b0a;
}
.tile{
  border-radius:12px;
  padding:14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:transform .12s ease, box-shadow .12s ease;
  text-align:center;
}
.tile:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.tile-actions{ margin-top:10px; }
.home-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}
.steps{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.feature-grid{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.stat{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.stat .label{
  opacity:.85;
  font-size:.9em;
}
.stat .value{
  font-size:1.35em;
  font-weight:700;
}
.step-title{
  font-weight:700;
  margin-bottom:6px;
}
.home-card ul{
  text-align:left;
  display:inline-block;
  margin:10px auto 0 auto;
  padding-left:18px;
}
.dash-wrap{
  max-width:1100px;
  margin:0 auto;
}
.dash-hero{
  margin:10px 0 16px;
  text-align:center;
}
.dash-card{
  border-radius:14px;
  padding:16px;
  margin:14px 0;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
/* Generic grid for dashboard blocks */
.grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}
/* Progress bar */
.bar{
  position:relative;
  height:16px;
  border-radius:999px;
  background:rgba(0,0,0,.10);
  overflow:hidden;
  margin-top:10px;
}
.bar .bar-fill{
  height:100%;
  background:#D60000;
}
.bar .bar-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85em;
  font-weight:700;
  color:rgba(0,0,0,.75);
  text-shadow:0 1px 0 rgba(255,255,255,.6);
  pointer-events:none;
}
.bar.compact{
  position:relative;
  height:14px;
  margin-top:6px;
  background:rgba(0,0,0,.08);
  border-radius:999px;
  overflow:hidden;
}
.bar.compact .bar-fill{ height:100%; }
.bar.compact .bar-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85em;
  font-weight:700;
  color:rgba(0,0,0,.75);
  pointer-events:none;
}
/* Badges row */
.badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:10px;
}
.badge-chip{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.10);
}
.badge-chip.hit{
  background:rgba(214,0,0,.12);
  border-color:rgba(214,0,0,.25);
}
/* Dashboard action row */
.actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:12px;
}
/* =========================
   Dashboard typography helpers
   (dashboard.php uses .label/.value directly)
   ========================= */
.label{
  opacity:.85;
  font-size:.9em;
  text-align:center;
}
.value{
  font-size:1.35em;
  font-weight:700;
  margin-top:6px;
  text-align:center;
}
/* Make dashboard section titles consistent, so you can remove inline styles */
.dash-card > h3{
  margin:0 0 10px 0;
  text-align:center;
}
/* Optional: utility for centered cards (replaces style="text-align:center;") */
.center{text-align:center;}
/* Mobile tweaks */
.site-footer{
  /*margin-top:30px;
  padding:20px 16px 28px;*/
  border-top:1px solid rgba(255,255,255,0.12);
  text-align:center;
  font-size:.95rem;
  opacity:.95;
}
.footer-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.footer-links a{
  text-decoration:none;
}
.footer-trust{
  max-width:760px;
  margin:0 auto 10px;
  line-height:1.5;
  opacity:.9;
}
.footer-copy{
  margin:0;
  font-size:.9rem;
  opacity:.75;
}
.page-hero{
	text-align:center;
	margin:0 0 18px;
}
.page-hero h1{
	margin-bottom:8px;
}
.page-subtitle{
	opacity:.85;
	max-width:850px;
	margin:0 auto;
}
.sessions-top-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:14px;
	margin:18px 0;
}
.sessions-actions{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	justify-content:center;
	margin:0 0 22px;
}
.sessions-actions a{
	text-decoration:none;
}
.sessions-card{
	margin:18px 0;
}
.sessions-note{
	text-align:center;
	opacity:.82;
	margin:0 0 14px;
}
.tile .small-note{
	margin-top:8px;
}
.finished-head{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:18px 0 10px;
}
.finished-title{
  margin:0;
}
.finished-note{
  margin:4px 0 0;
  opacity:.8;
  font-size:.95rem;
}
.bulk-public{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.bulk-public .button,
.bulk-public .greybutton{
  min-width:170px;
  text-align:center;
}
.session-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 14px;
}
.session-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 14px;
  background:rgba(255,255,255,.28);
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.session-item.highlight{
  border-color:rgba(220,0,0,.35);
  box-shadow:0 0 0 1px rgba(220,0,0,.08) inset;
}
.session-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.session-item-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.session-index{
  font-weight:700;
}
.session-badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1;
  background:rgba(220,0,0,.1);
  color:#a40000;
  font-weight:700;
}
.session-duration{
   font-weight:700;
  font-size:.95rem;
  text-align:right;
}
.session-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.session-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px 12px;
  margin:0;
}
.session-meta-block .label{
  display:block;
  font-size:.82rem;
  opacity:.75;
  margin-bottom:4px;
}
.session-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding:0;
  border:0;
}
.session-actions-left,
.session-actions-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.session-public{
  display:flex;
  align-items:center;
  gap:8px;
}
.session-history{
  font-size:1.05rem;
  text-decoration:none;
}
.hide{
	display:none;
}
.filtered-out{
	display:none !important;
}
.osearch{
	width:100px;
}
.orgasms-card{
  margin:18px 0;
}
.orgasms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  margin:18px 0;
}
.orgasms-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 0 18px;
}
.orgasms-actions a{
  text-decoration:none;
}
.orgasms-note{
  text-align:center;
  opacity:.82;
  margin:0 0 14px;
}
.filter-bar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 0 14px;
}
.filter-bar input,
.filter-bar button{
  max-width:100%;
}
.filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 0 16px;
}
.entry-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 14px;
}
.entry-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 14px;
  background:rgba(255,255,255,.28);
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.entry-item.hidden,
.table-entry-row.hidden{
  display:none;
}
.entry-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.entry-item-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.entry-index{
  font-weight:700;
}
.entry-date{
  font-weight:700;
  font-size:.95rem;
  text-align:right;
}
.entry-badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1;
  font-weight:700;
}
.entry-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.entry-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 12px;
  margin:0;
}
.entry-meta.extended-on{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.entry-meta-block .label{
  display:block;
  font-size:.82rem;
  opacity:.75;
  margin-bottom:4px;
}
.entry-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.entry-public{
  display:flex;
  align-items:center;
  gap:8px;
}
.entry-prev{
  opacity:.82;
}
.entry-item{
  border-left:4px solid transparent;
}
.entry-item.type-full{
  border-left-color:#1F8F4E;
}
.entry-item.type-full .entry-badge{
  background:#E7F6ED;
  color:#1F8F4E;
}
.entry-item.type-ruined{
  border-left-color:#C77A00;
}
.entry-item.type-ruined .entry-badge{
  background:#FFF4DF;
  color:#A86400;
}
.entry-item.type-ted{
  border-left-color:#1F6FB2;
}
.entry-item.type-ted .entry-badge{
  background:#E8F2FB;
  color:#1F6FB2;
}
.entry-item.type-milking{
  border-left-color:#666;
}
.entry-item.type-milking .entry-badge{
  background:#EFEFEF;
  color:#555;
}
.entry-item.type-dom{
  border-left-color:#7B3DBB;
}
.entry-item.type-dom .entry-badge{
  background:#F1E8FB;
  color:#6D2FA8;
}
.view-switch{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.view-switch .active{
  font-weight:700;
}
.orgasms-table-view{
  width:100%;
  border-collapse:collapse;
}
.orgasms-table-view th,
.orgasms-table-view td{
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.12);
  text-align:center;
  vertical-align:middle;
}
.orgasms-table-view input[disabled],
.entry-list input[disabled]{
  cursor:not-allowed;
}
.orgasms-table-view input[disabled] + .slider,
.entry-list input[disabled] + .slider{
  cursor:not-allowed;
  opacity:.50;
}
.orgasms-table-view tr.type-full{
  border-left:4px solid #1F8F4E;
}
.orgasms-table-view tr.type-ruined{
  border-left:4px solid #C77A00;
}
.orgasms-table-view tr.type-ted{
  border-left:4px solid #1F6FB2;
}
.orgasms-table-view tr.type-milking{
  border-left:4px solid #666;
}
.orgasms-table-view tr.type-dom{
  border-left:4px solid #7B3DBB;
}
.orgasms-table-view tr.type-full .entry-badge{
  background:#E7F6ED;
  color:#1F8F4E;
}
.orgasms-table-view tr.type-ruined .entry-badge{
  background:#FFF4DF;
  color:#A86400;
}
.orgasms-table-view tr.type-ted .entry-badge{
  background:#E8F2FB;
  color:#1F6FB2;
}
.orgasms-table-view tr.type-milking .entry-badge{
  background:#EFEFEF;
  color:#555;
}
.orgasms-table-view tr.type-dom .entry-badge{
  background:#F1E8FB;
  color:#6D2FA8;
}
.table-scroll-hint{
  display:none;
}
.public-links-page{
	max-width:1280px;
}
.public-links-page fieldset{
	border:0;
	margin:0;
	padding:0;
	min-width:0;
}
.public-links-note{
	margin:4px 0 0;
	line-height:1.35;
}
.public-links-summary-grid{
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.public-link-list{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
	gap:12px;
	align-items:stretch;
}
.public-link-item{
	order:1;
	background:rgba(255,255,255,.42);
	border:1px solid rgba(0,0,0,.08);
	border-radius:14px;
	padding:14px;
	box-shadow:0 8px 18px rgba(0,0,0,.08);
	display:flex;
	flex-direction:column;
	gap:12px;
	min-width:0;
	min-height:244px;
	transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.public-link-item:hover{
	transform:translateY(-1px);
	box-shadow:0 10px 22px rgba(0,0,0,.11);
	background:rgba(255,255,255,.55);
}
.public-link-item.is-votable{
	order:0;
}
.public-link-top{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:8px;
	text-align:center;
	padding-bottom:10px;
	border-bottom:1px solid rgba(0,0,0,.08);
}
.public-link-user{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:7px;
	min-width:0;
	width:100%;
}
.public-link-user a{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:7px;
	min-width:0;
	font-weight:700;
}
.public-link-user-name{
	display:block;
	font-weight:700;
	line-height:1.2;
	word-break:break-word;
}
.public-link-img{
	width:64px;
	height:64px;
	object-fit:cover;
	border-radius:50%;
	background:#eee;
	box-shadow:0 0 0 3px rgba(255,255,255,.75),0 2px 8px rgba(0,0,0,.14);
	flex:0 0 auto;
}
.public-link-meta{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-top:2px;
}
.public-link-meta-block{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px;
	min-width:0;
}
.public-link-meta-block .label{
	flex:0 0 auto;
	text-align:left;
}
.public-link-meta-block span:not(.label){
	display:block;
	font-weight:700;
	line-height:1.25;
	text-align:right;
	word-break:break-word;
}
.public-link-actions{
	margin-top:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding-top:2px;
}
.public-link-actions .button,
.public-link-actions .greybutton{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:32px;
	padding:6px 12px;
	text-decoration:none;
}
.public-link-actions .greybutton.disabled,
.public-link-actions .button.disabled{
	opacity:.58;
	cursor:not-allowed;
}
.public-link-status{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	padding:6px 10px;
	line-height:1.2;
	font-size:.9em;
	font-weight:700;
	background:rgba(0,0,0,.055);
	text-align:center;
}
.public-link-status.is-wait{
	background:rgba(255,0,0,.08);
}
.empty-public-links{
	grid-column:1/-1;
	text-align:center;
	padding:24px 12px;
}
@media(max-width:640px){
	.public-link-list{
		grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	}
	.public-link-item{
		min-height:0;
	}
}
@media(max-width:420px){
	.public-link-list{
		grid-template-columns:1fr;
	}
	.public-link-meta-block{
		gap:8px;
	}
}
@media(max-width:900px){
  .entry-meta,
	.entry-meta.extended-on{
    grid-template-columns:1fr;
  }
	.orgasms-table-view{
    font-size:.92rem;
  }
	.public-links-summary-grid{
		grid-template-columns:1fr;
	}
}
@media(max-width:700px){
  .entry-item{
    padding:12px 13px;
  }
  .entry-item-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .entry-date{
    text-align:left;
  }
  .entry-body{
    grid-template-columns:1fr;
    gap:10px;
  }
  .entry-actions{
    justify-content:flex-start;
    border-top:1px solid rgba(0,0,0,.08);
    padding-top:10px;
  }
  .entry-actions a{
    flex:1 1 140px;
    text-align:center;
  }
  .entry-public{
    justify-content:center;
    width:100%;
  }
  .orgasms-actions .button,
  .orgasms-actions .greybutton,
  .filter-bar input,
  .filter-bar button,
  .filter-row .button,
  .filter-row .greybutton{
    width:100%;
    text-align:center;
  }
	.orgasms-table-view{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
	#orgasms-table-view .table-scroll-hint{
    display:block;
    text-align:center;
    opacity:.75;
    font-size:.85rem;
    margin:0 0 8px;
  }
	#orgasms-actions a:first-child{
    width:100%;
    text-align:center;
  }
  .dash-wrap{
    display:flex;
    flex-direction:column;
  }
	.view-switch{
    margin:8px 0 10px;
  }
  .view-switch .greybutton{
    flex:1 1 120px;
    text-align:center;
  }
  #all-entries-card{
    padding-left:10px;
    padding-right:10px;
  }
  .filter-bar,
  .filter-row{
    gap:8px;
  }
  .filter-bar input,
  .filter-bar button,
  .filter-row button{
    flex:1 1 130px;
  }
  #orgasms-table-view{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .orgasms-table-view{
    font-size:.86rem;
  }
  .orgasms-table-view th,
  .orgasms-table-view td{
    padding:6px 8px;
  }
  .orgasms-table-view .button{
    padding:6px 8px;
    white-space:nowrap;
  }
  #orgasms-actions{
    order:1;
  }
	#view-change{
    order:3;
  }
  #all-entries-card{
    order:4;
  }
  #recent-activity-card{
    order:2;
  }
  #release-totals-card{
    order:6;
  }
  #timing-insights-card{
    order:5;
  }
}
.cookie-banner{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:9999;
	padding:12px;
	background:#111;
	color:#fff;
	box-shadow:0 -2px 12px rgba(0,0,0,0.35);
}
.cookie-banner-inner{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	gap:14px;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
}
.cookie-banner p{
	margin:0;
	font-size:0.95rem;
	line-height:1.45;
	flex:1 1 700px;
}
.cookie-banner a{
	text-decoration:underline;
}
.cookie-banner-actions{
	display:flex;
	gap:10px;
	flex:0 0 auto;
	flex-wrap:wrap;
}
.cookie-banner .button{
	cursor:pointer;
	white-space:nowrap;
	background: #DDDDDD;
}
@media(max-width:900px){
  .session-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:860px){
  .steps{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
}
@media(max-width:700px){
	.cookie-banner{
		padding:8px;
		max-height:min(50svh,280px);
		left:8px;
		right:8px;
		bottom:8px;
		border-radius:12px;
	}
	.cookie-banner-inner{
		flex-direction:column;
		align-items:stretch;
		gap:10px;
	}
	.cookie-banner p{
		flex:none;
		font-size:0.92rem;
		line-height:1.35;
	}
	.cookie-banner-actions{
		display:grid;
		grid-template-columns:1fr;
		gap:8px;
		width:100%;
	}
	.cookie-banner .button{
		width:100%;
	}
	.sessions-actions{
		gap:10px;
	}
	.sessions-actions .button,
	.sessions-actions .greybutton{
		width:100%;
		text-align:center;
	}
	.bulk-public .button,
  .bulk-public .greybutton{
    width:100%;
  }
  .session-item{
    padding:12px 13px;
  }
  .session-item-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .session-duration{
    text-align:left;
  }
	.session-body{
    grid-template-columns:1fr;
    gap:10px;
  }
  .session-meta{
    grid-template-columns:1fr;
  }
  .session-actions{
    justify-content:flex-start;
    border-top:1px solid rgba(0,0,0,.08);
    padding-top:10px;
  }
  .session-actions-left,
  .session-actions-right{
    width:100%;
  }
  .session-actions-left a,
  .session-actions-right a{
    flex:1 1 140px;
    text-align:center;
  }
  .session-public{
    justify-content:center;
    width:100%;
  }
  .site-footer{
    padding:18px 12px 24px;
  }
  .footer-links{
    gap:12px;
    font-size:.95rem;
  }
  .footer-trust{
    font-size:.92rem;
  }
}
@media(max-width:560px){
  .home-grid{grid-template-columns:1fr;}
  .hero-actions .button{width:100%; text-align:center;}
	.actions .button{width:100%; text-align:center;}
}
