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

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    font-size: 62.5%; /* 1rem = 10px */
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans SC', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #333;
    background-color: #fff;
    overflow-x: hidden;
}

/* Remove default list styles */
ul,
ol {
    list-style: none;
}

/* Remove default link styles */
a {
    text-decoration: none;
    color: inherit;
}

/* Remove default button styles */
button {
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}

/* Remove default input styles */
input,
textarea,
select {
    border: none;
    outline: none;
    font-family: inherit;
    font-size: inherit;
}

/* Remove default table styles */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Remove default image styles */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Remove default form styles */
fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

legend {
    padding: 0;
}

/* Remove default hr styles */
hr {
    border: none;
    height: 1px;
    background-color: #e0e0e0;
    margin: 2rem 0;
}

/* Remove default blockquote styles */
blockquote {
    margin: 0;
    padding: 0;
}

/* Remove default code styles */
code,
pre {
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}

/* Remove default heading styles */
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    margin: 0;
}

/* Remove default paragraph styles */
p {
    margin: 0;
}

/* Remove default emphasis styles */
em, i {
    font-style: normal;
}

strong, b {
    font-weight: normal;
}

/* Remove default sub/sup styles */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Remove default details/summary styles */
details {
    display: block;
}

summary {
    display: list-item;
    cursor: pointer;
}

/* Remove default template styles */
template {
    display: none;
}

/* Remove default hidden styles */
[hidden] {
    display: none;
}

/* Accessibility improvements */
:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

:focus:not(:focus-visible) {
    outline: none;
}

/* Print styles */
@media print {
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    a,
    a:visited {
        text-decoration: underline;
    }
    
    a[href]::after {
        content: " (" attr(href) ")";
    }
    
    abbr[title]::after {
        content: " (" attr(title) ")";
    }
    
    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
    
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    
    thead {
        display: table-header-group;
    }
    
    tr,
    img {
        page-break-inside: avoid;
    }
    
    img {
        max-width: 100% !important;
    }
    
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    
    h2,
    h3 {
        page-break-after: avoid;
    }
} 