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

body {
    background: #dce7f9 url('https://files.catbox.moe/1tmi5p.png') repeat;
    font-family: "Quando", sans-serif;
    color: #798692;
    padding: 20px;
    cursor: url("https://www.rw-designer.com/cursor-set/angel-heart-angel-heart-blue"), auto;
    line-height: 1.6;
}

.page-wrapper {
    background: #fdfdff;
    border: 2px solid #b9cae8;
    border-radius: 8px;
    box-shadow: 0 3px 8px rgba(80,100,150,0.2);
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden;
}

.header {
    background: linear-gradient(180deg, #dbe2e9 88%, #b4c3d2 91%, #dbe2e9 100%);
    text-align: center;
    padding: 10px 0;
    border-bottom: 1px solid #b3c7f0;
}

.header img {
    width: 100%;
    border-bottom: 2px solid #b4c3d2;
    display: block;
}

.header h1 {
    margin-top: 8px;
    font-size: 1.4rem;
    color: #ffffff;
    letter-spacing: 1px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

.main-container {
    display: flex;
    min-height: 500px;
}

.sidebar {
    width: 250px;
    background: #dbe2e9;
    border-right: 1px solid #b4c3d2;
    padding: 15px;
    flex-shrink: 0;
}

.profile, .hits {
    text-align: center;
    background: #e5eaef;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 15px;
    transition: transform 0.2s ease;
}

.profile:hover, .hits:hover {
    transform: translateY(-2px);
}

.profile img {
    width: 150px;
    height: 150px;
    border-radius: 6px;
    margin-bottom: 5px;
}

main {
    flex: 1;
    padding: 20px;
}

section {
    background: #eef1f4;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

section:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(80,100,150,0.15);
}

section h2, section h3 {
    color: #9aabbb;
    margin-bottom: 8px;
    border-bottom: 1px solid #b4c3d2;
    padding-bottom: 5px;
}

.welcome-box {
    text-align: center;
}

.grid-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 15px;
}

.left-column {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.right-column-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.updates-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rightimg, .bigimg {
    border-radius: 6px;
    border: 2px solid #b4c3d2;
    padding: 10px;
    background: #f9fbff;
    transition: transform 0.3s ease;
}

.rightimg:hover, .bigimg:hover {
    transform: scale(1.02);
}

.rightimg img, .bigimg img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
}

footer {
    text-align: center;
    background: linear-gradient(180deg, #dbe2e9 0%, #b4c3d2 50%, #dbe2e9 100%);
    border-top: 1px solid #b3c7f0;
    padding: 10px;
    font-size: 0.9rem;
    color: #ffffff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

.button-animated-menu ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.button-animated-menu a {
    background: linear-gradient(180deg, #dbe2e9 20%, #b4c3d2 30%, #dbe2e9 80%);
    border: 2px solid #b4c3d2;
    border-radius: 5px;
    padding: 12px 20px;
    color: #fff;
    text-decoration: none;
    display: block;
    text-align: center;
    font-style: italic;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.button-animated-menu a:hover {
    background: linear-gradient(180deg, #e8eff5 20%, #c5d4e5 30%, #e8eff5 80%);
    color: #798692;
    transform: translateY(-2px);
}

.button-animated-menu a.active {
    background: linear-gradient(180deg, #c5d4e5 20%, #9ab0cc 30%, #c5d4e5 80%);
    box-shadow: inset 0 -3px 0 rgba(120,160,255,0.12);
}

.button-animated-menu a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg);
}

.button-animated-menu a:hover::before {
    animation: shine 0.8s;
}

@keyframes shine {
    0% { left: -75%; }
    100% { left: 125%; }
}

#nl {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 1000;
}

.webrings {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background: #eef1f4;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 15px;
}

.webrings a { 
    color: #4a6fa5 !important; 
}

.webrings a:hover {
    color: #4a6fa5 !important;
    text-decoration: underline;
}

#hotline {
    border: 1px solid #000;
    background-color: #fa9aba;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    padding: 10px;
    border-radius: 6px;
}

#hotline a {
    font-style: italic;
    text-transform: uppercase;
    color: #7e96ad !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

#hotline a:hover {
    text-decoration: underline;
    color: #668cb1 !important;
}

.graphics-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 20px;
    align-items: start;
}

.graphics-section {
    background: #eef1f4;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.graphics-section h3 {
    color: #9aabbb;
    text-align: center;
    margin-bottom: 15px;
    font-size: 1.2rem;
}

.buttons-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    flex: 1;
    align-content: start;
}

.buttons-gallery img {
    width: 88px;
    height: 31px;
    border: 1px solid #b4c3d2;
    justify-self: center;
    transition: transform 0.2s ease;
}

.buttons-gallery img:hover {
    transform: scale(1.1);
}

.stamps-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 15px;
    margin-top: 15px;
}

.stamp-item {
    text-align: center;
    background: #f9fbff;
    padding: 15px;
    border-radius: 6px;
    transition: transform 0.2s ease;
}

.stamp-item:hover {
    transform: translateY(-3px);
}

.stamp-item img {
    width: 100%;
    max-width: 80px;
    height: auto;
    justify-self: center;
}

.info-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.info-sidebar section {
    background: #eef1f4;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 0;
}

.about-box img {
    width: 300px;
    height: 300px;
    margin: 0 auto;
    display: block;
    border-radius: 8px;
    border: 2px solid #b4c3d2;
}

.arrow {
    color: #798692 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.arrow:hover {
    color: #9aabbb !important;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    padding: 20px;
}

.portfolio-item {
    background: #eef1f4;
    border: 1px solid #b4c3d2;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    transition: transform 0.3s ease;
}

.portfolio-item:hover {
    transform: translateY(-5px);
}

.portfolio-item img {
    max-width: 100%;
    border-radius: 6px;
    margin-bottom: 10px;
}

.mini-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.mini-table th, .mini-table td {
    text-align: center;
    padding: 6px;
    font-size: 0.85rem;
}

.mini-table th {
    color: #7b8fb2;
    font-weight: bold;
}

.gb-entry {
    background: #f9fbff;
    border: 1px solid #b4c3d2;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
}

.muted {
    color: #9aabbb;
    font-style: italic;
}

.favorites ul {
    list-style-position: inside;
    margin-left: 15px;
}

.favorites li {
    margin-bottom: 5px;
}

@media (max-width: 768px) {
    body {
        padding: 10px;
    }
    
    .main-container {
        flex-direction: column;
    }
    
    .sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #b4c3d2;
    }
    
    .grid-content {
        grid-template-columns: 1fr;
    }
    
    .updates-grid {
        grid-template-columns: 1fr;
    }
    
    .graphics-layout {
        grid-template-columns: 1fr;
    }
    
    .buttons-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}
