/* Ashmosphere 2026

/* ---------- TEXT STUFF ----------- */
body {
	margin: 0;
	background: #f4f4f4;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	overflow: hidden; /* Prevent scrollbars after scaling */
}
  
body {
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-weight: 400;
  font-style: normal;
	font-size: 15px;
}

.center {
   text-align: center;
}

body{
	color: #FFFAE5;	
	text-shadow:
    -1px -1px 0 #000000,
    -1px 0px 0 #000000,
    -1px 1px 0 #000000,
    0px -1px 0 #000000,
    0px -0px 0 #000000,
    0px 1px 0 #000000,
    1px -1px 0 #000000,
    1px 0px 0 #000000,
    1px 1px 0 #000000,
	 -2px -2px 0 #000000,
    -2px 0px 0 #000000,
    -2px 2px 0 #000000,
    0px -2px 0 #000000,
    0px -0px 0 #000000,
    0px 2px 0 #000000,
    2px -2px 0 #000000,
    2px 0px 0 #000000,
    2px 2px 0 #000000
}

/* ------ Text Formatting ------ */
.center {
   text-align: center;
}

.subtext {
	font-style: italic;
	font-size: 12px;
}

a{
	color: #F48B59;
}
 
a:visited{
	color: #F48B59;
}


a:hover{
	color: #FFF;
	text-decoration: underline;
}
 
/* ---------- Room ----------- */
.scene-container {
	position: relative;
	width: 92vw;
	max-width: 1050px;
	aspect-ratio: 16 / 9;

	transform: scale(1.3);      /* 130% size */
	transform-origin: center;   /* Scale from center */
	z-index: 0;
}

.scene-container img {
	position: absolute;
}


.room {
	width: 100%;
	height: 100%;
	object-fit: contain;
	z-index: 0;
	user-select: none; 
	pointer-events: none;
}

.object {
	height: auto;
	z-index: 3;
}
  
.object {
  transition: filter 0.3s ease;
}

.object:hover {
  filter: brightness(1.9);
}
  
  .clickable {
    z-index: 2;
    display: block;
  }


/* ---------- Room Objects ----------- */
  .tv {
    top: 34.2%;
    left: 34.7%;
	width: 6%;
  }

  .crate {
    top: 45.3%;
    right: 46%;
	width: 9%;
  }

  .vinyl {
    bottom: 49.3%;
    left: 25%;
	width: 7%;
  }
  
  .phone {
    bottom: 23.9%;
    left: 28.5%;
	width: 6%;
  }
  
  .painting {
    bottom: 78.2%;
    left: 54.5%;
	width: 6.7%;
  }

  .niko {
    bottom: 48.8%;
    left: 72.1%;
	width: 6%;
  }
  
  .ash {
    bottom: 29.4%;
    left: 64.3%;
	width: 9.8%;
  }
  
  .book {
    bottom: 36.9%;
    left: 23%;
	width: 8.1%;
  }
	
/* -------------- TV --------------- */
#slideshow {
	width: 4.5%;
	height: 7.2%;
	overflow: hidden;
  
	position: fixed;
	bottom: 56.4%;
	left: 35.53%;
	transform: rotate(-3.5deg);
	z-index: 2;
}

#slideshow img {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

#staticOverlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	display: none;
	z-index: 2;
}


/* ---------- Homepage Left/Right Text  ----------- */
.bottom-left-text {
	position: fixed; 
	bottom: 10px;    
	left: 10px;      
	background-color: rgba(0,0,0,0.5); 
	color: white;    
	padding: 5px 10px;
	border-radius: 4px;
}
	
.bottom-right {
	position: fixed;  
	bottom: 10px;      
	right: 10px;      
	background-color: rgba(0,0,0,0.7);
	color: white;
	padding: 8px 12px;
	border-radius: 4px;
	opacity: 0.7;
}

/* ---------- TEXT STUFF ----------- */

.dropdown {
	position: relative;
	cursor: pointer;
}

.dropdown-content {
	cursor: default;
	display: none;
	position: absolute;
	background-color: rgba(0,0,0,0.8);
	font-size: 12px;
	width: 98%;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	padding: 12px 5px;
	z-index: 10;
}

.dropdown:hover .dropdown-content {
	display: block;
	cursor: pointer;
}

  /* Tooltip styling */
#tooltip {
	position: fixed;
	pointer-events: none;
	background: rgba(0,0,0,0.6);
	color: #fff;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 14px;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.15s ease;
	z-index: 1000;
}
 
 
.leftcontent {
	text-align: left !important;
}

/* --- SOUND STUFF --- */

.sound-container {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 15px;
  border-radius: 7px;
  width: 37%;

  margin: 0 auto; /* <-- this centers it horizontally */

  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}
  
  .sound-container  p {
    margin-block-start: 0.2em;
    margin-block-end: 0.2em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
  }

  /* LEFT */
  .left-section {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .sound-toggle {
    flex-shrink: 0;
  }

  .sound-toggle input {
    display: none;
  }

  /* CHECKBOX (no glow) */
  .sound-toggle .box {
    display: inline-block;
    width: 40px;
    height: 40px;
    min-width: 40px;

    border-radius: 8px;
    position: relative;
    cursor: pointer;
    transition: 0.2s;

    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(6px);

    border: 1px solid rgba(255,255,255,0.25);
  }

  /* Checked */
  .sound-toggle input:checked + .box {
    background: rgba(95, 86, 188, 0.35);
    border: 1px solid rgba(95,86,188,0.8);
  }

  .sound-toggle input:checked + .box::after {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    font-size: 22px;
    color: white;
  }

  /* Label */
  .label-text {
    font-size: 16px;
    min-width: 120px;
    opacity: 0.9;
  }

  /* Divider */
  .sounddivider {
    width: 1px;
    height: 50px;
    background: rgba(255,255,255,0.2);
  }

  /* right */
  .right-section {
    display: flex;
    flex-direction: column;
  }


  /* slider */
  input[type="range"] {
    appearance: none;
    width: 220px;
    height: 20px;
    border-radius: 6px;

    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(6px);

    border: 1px solid rgba(255,255,255,0.2);
  }

  input[type="range"]::-webkit-slider-runnable-track {
    height: 20px;
    background: transparent;
  }

  input[type="range"]::-moz-range-track {
    height: 20px;
    background: transparent;
  }

  /* Thumb (no glow) */
  input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 4px;

    background: #5F56BC;
    cursor: pointer;
  }

  input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 4px;

    background: #5F56BC;
    cursor: pointer;
  }

  /* Disabled */
  input[type="range"]:disabled {
    opacity: 0.3;
    cursor: not-allowed;
  }

  input[type="range"]:disabled::-webkit-slider-thumb,
  input[type="range"]:disabled::-moz-range-thumb {
    background: #777;
  }
  
  
/* --- Changelog --- */
hr.divider2 {
	border: 0;
	border-top: 1px solid #333;
	margin: 10px 0 20px;
}

details {
	background: rgba(255, 255, 255, 0.05); /* semi-transparent */
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	margin-bottom: 15px;
	backdrop-filter: blur(10px); /* Frosted glass */
	box-shadow: 0 4px 30px rgba(0,0,0,0.5);
	overflow: hidden;
	transition: background 0.3s ease;
}

summary {
	font-weight: bold;
	cursor: pointer;
	font-size: 1.1em;
	color: #918AD8;
	padding: 15px;
	display: block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	transition: color 0.2s ease, background 0.2s ease;
}

summary:hover {
	color: #fff;
}

details[open] summary {
	background-color: #443E60;
}

.details-content {
	padding: 15px;
	text-align: left;
}

h4 {
	margin: 10px 0 5px;
	font-size: 1em;
	color: #918AD8;
}

ul {
	margin: 0 0 10px 20px;
}

li {
	line-height: 1.5;
}

p.comment {
	margin: 0 0 10px 0;
	color: #fff;
}

details.important {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    backdrop-filter: blur(10px);
}

details.important summary {
    color: #E4DD6D; 
}

details.important summary:hover {
    color: #fff; 
}

/* --- Button --- */
    .gx88-wrap {
      position: fixed;
      bottom: 10px;
      left: 10px;

      width: 100px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      padding: 6px 4px;

      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 12px;
      margin-bottom: 15px;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 4px 30px rgba(0,0,0,0.5);
      overflow: hidden;
      transition: background 0.3s ease;
    }

    .gx88-btn {
      width: 88px;
      height: 31px;
      display: block;
    }

    .gx88-year {
      font-size: 14px;
      color: rgba(255,255,255,0.75);
      line-height: 1;
    }

     .gx88-qmark-wrap {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    .gx88-qmark-wrap {
      position: fixed;
      bottom: 10px;
      right: 10px;

      width: 60px;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;

      background: rgba(255, 255, 255, 0.01);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 12px;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 4px 30px rgba(0,0,0,0.5);

      transition: background 0.3s ease;
      font-size: 24px;
      color: rgba(255,255,255,0.85);
      cursor: pointer;
    }

    .gx88-qmark-wrap:hover {
      background: rgba(255, 255, 255, 0.1);
    }

  .hover-text {
    position: fixed;
    bottom: 20px;      
    left: 50%;          
    transform: translateX(-50%);
    pointer-events: none;
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 17px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 1000;
  }

  .gx88-qmark-wrap:hover ~ .hover-text {
    opacity: 1;
  }


/* --- Resources --- */

/* Reset and basic body styling */
body {
    margin: 0;
    padding: 0;
    background: #f7f7f7;
    color: #333;
}

/* Main container */
.res-main {
    max-width: 1000px; /* wider content */
    margin: 30px auto;
    padding: 25px;
    background: #fff;
    border-radius: 10px;
    text-align: left; /* left-aligned content */
}

/* Sections with blue left line */
.res-section {
    margin-bottom: 35px;
    border-left: 5px solid #F48B59;
    padding-left: 20px;
}

.res-section h2 {
    margin-top: 0;
}

/* List styling */
.res-list {
    padding-left: 25px;
    list-style-type: disc;
    text-align: left;
}

.res-list-item {
    margin-bottom: 20px;
}

/* Flex row for name + dotted line + link */
.res-item-row {
    display: flex;
    align-items: center;
    text-align: left;
    max-width: 700px; /* wider row */
}

.res-item-name {
    flex: 0 0 auto; /* width depends on content */
    font-weight: bold;
}

/* Divider stretches from name to link, minimal left margin */
.res-item-divider {
    flex: 1;
    border-bottom: 2px dotted #bbb;
    margin: 0 10px 0 5px; /* small left margin so line starts near name */
}

.res-item-link {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: left;
}

/* Optional description under each item */
.res-item-description {
    margin-top: 5px;
    margin-left: 5px;
    font-size: 0.9em;
    color: #A29BA5;
    max-width: 700px; /* same as row */
    text-align: left;
}

.res-item-link.res-best::before {
    content: "★";
    color: #FFE649;
    margin-right: 3px;
}

/* Starred link color */
.res-item-link.res-best a {
    color: #FFE649; /* change to any color you like */
}

.res-item-link:not(:last-child)::after {
    content: ",  ";
}

/* Hover effect for starred links */
.res-item-link.res-best:hover a {
    color: white; /* link text turns white */
}

.res-item-link.res-best:hover::before {
    color: white; /* star turns white on hover */
}

.res-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* centers children horizontally */
    width: 100%;         /* ensures full width for responsiveness */
}

/* Optional: limit max width so content doesn't stretch too far */
.res-container > .res-section {
    max-width: 900px;    /* same as section width */
    width: 100%;
}

.res-header {
    font-size: 22px;
    background: #080611;
    color: #fff;
    padding: 16px;
	margin-top: 0px;
	text-align: left;
	border-radius: 5px;
}