* { box-sizing: border-box; margin: 0; padding: 0; }
  
/*  Basics */
body { 
font-family: 'ms gothic', monospace, 'lato', sans-serif;
font-size:10px;
letter-spacing:1px;
text-shadow:0px 0px 1px #bbb;
display: flex; justify-content: center; 
background: linear-gradient(to bottom, #FF87C3, #FFBFDF, #FFDDEE); 
background-attachment: fixed;
text-align:justify;
padding: 20px; 
color: #ad6b93;}
  
  
/*  Links */
a:link,a:visited,a:active { color: #FF7FA5; text-decoration: none; }
a:hover { color: #FF1C60; }
    
/*  Scrollbar */
::-webkit-scrollbar {
width: 8px;
height: 8px;}

::-webkit-scrollbar-track {
background: #ffeef2;       
border-radius: 10px;}

::-webkit-scrollbar-thumb {
background: #ffa0bc; 
border-radius: 10px;
border: 2px solid #ffeef2;}

  
/*  Flex layout */

.container {
display: flex;
flex-direction: row;
min-height: 600px;
width: 100%;
max-width: 900px;
background: #fff0f3;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 8px 24px rgba(0,0,0,0.1);
align-items: flex-start;}

  
/* Sidebar */
.sidebar {
width: 200px;
background: #ffddee;
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 10px;
flex-shrink: 0;}

/*  Sidebar Links */
.link {
width: 100%;
cursor: pointer;
padding: 12px;
margin-bottom: 4px;
transition: background 0.3s;
font-weight: bold;
text-align: left;
border: 1px solid #ffc0d3;
border-radius: 4px;
background: #ffeaf4;}
  
.link:hover { background: #ffd1e8; }

.sub-links {
display: none;
flex-direction: column;
width: 100%;
padding-left: 0px;
margin-bottom: 0px;}
  
.sub-links a {
color:#db6789;
padding: 8px;
text-decoration: none;
border: 1px solid #ffc0d3;
border-radius: 4px;
margin-bottom: 4px;
display: block;}
  
.sub-links a:hover { font-weight:bold;color: #ad6b93; background: #ffd1e8; }
.sub-links.open { display: flex; }

/*  Sidebar Boxes */

.sidebar-box {
width: 100%;
background: #ffe4f2;
border-radius: 8px;
border: 1px solid #ffc0d3;
transition: transform 0.2s;
padding: 10px;
margin: 8px 0 0 0;
font-size:10px;
line-height:1.4;}
    
.sidebar-box:hover { transform: translateY(-3px); }
  
  
/*  All titles */
.sidetitle { 
margin-bottom: 4px; font-size: 11px; font-weight: 400; color:#ffa0bc;
border-bottom: 1px solid #ffc0d3;font-family:monospace;}

.main-title { margin-bottom: 4px; font: 15px 'monospace';      border-bottom: 1px solid #ffc0d3; color:#ffa0bc; }
  
.box-title { margin-bottom: 4px; font: 11px 'monospace';   color:#ffa0bc;   border-bottom: 1px solid #ffc0d3; }

  
  
/*  Content section */

.content {
flex: 1;
display: flex;
flex-direction: column;
background: #fff5f8;}
  
/*  Header / Site name section */

header {
background: #ffeef2;
border-bottom: 1px solid #ffd1e0;
padding: 16px 20px;
font-size: 18px;
font-weight: 600;
display: flex;
flex-direction: column;
gap: 6px;}

.site-name {
display: flex;
align-items: center;
gap: 8px;}

.site-name  {
border-radius: 6px;
padding: 4px 8px;
font:bold 16px 'monospace';
line-height:19px;
letter-spacing:4px;
display: inline-block;
color: #a85c7a;
border: 0px solid #ffd1e0;}

.sub-title {
background: #ffeaf4;
border: 1px solid #ffd1e0;
border-radius: 6px;
padding: 4px 8px;
font-size: 12px;
width: fit-content;
font-family: monospace;}
    
    
/*  Banner section */
  
.banner {
grid-column: 1 / -1; 
background: #ffd1e8 url(https://tempoet.mizuki.world/colors/img/superbloom3.png);
background-size: cover;
border: 1px solid #ffc0d3;
border-radius: 8px;
height:200px;}

.banner-title {
font-size: 14px;
font-weight: 600;
margin-bottom: 8px;
border-bottom: 1px solid #ffc0d3;
text-transform: uppercase;}
  
  
/*  Main section */
  
main {
flex: 1;
padding: 20px;
line-height: 1.4;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 16px;
grid-template-rows: auto;}

.main-content {
grid-column: 1 / -1;
background: #ffe4f2;
padding: 16px;
border-radius: 8px;
transition: transform 0.2s;}
  
.main-content:hover { transform: translateY(-3px);}

/* Card Mods */
.dimmedCard {
    opacity:0.3;
    filter:alpha(opacity=30);
}

/* Image Mods */

div.deck img {
    vertical-align: top;
}

/*  Small boxes under main section */

.box {
background: #ffeaf4;
border: 1px solid #ffe0f8;
border-radius: 8px;
padding: 12px;
transition: transform 0.2s;
font-size:10px;}
  
.box:hover { transform: translateY(-3px); }

  
/*  This makes site responsive / mobile friendly */

@media (max-width: 768px) {
.container { flex-direction: column; max-width: 100%; }
.content { order: -1; }
.sidebar { width: 100%; flex-direction: column; align-items: center; padding: 20px; flex-wrap: wrap; order: 0; }
.sub-links { padding-left: 0; }
.link, .sub-links a { text-align: center; }
main { grid-template-columns: 1fr; }
}