:root {
    --skin-lightest: #FDF8F3;
    --skin-light: #F5EAE0;
    --skin-mid: #D4B89C;
    --skin-brown: #8B6F4E;
    --text-primary: #4A3728;
    --text-secondary: #7A6455;
    --white-pure: #FFFFFF;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--text-primary);
    background: var(--skin-lightest);
    line-height: 1.9;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}
.container {
    max-width: 720px;
    margin: 0 auto;
    padding: 4rem 1.5rem 6rem;
}
.back-link {
    display: inline-block;
    margin-bottom: 2rem;
    font-size: 0.85rem;
    color: var(--skin-brown);
    text-decoration: none;
}
.back-link:hover { color: var(--text-primary); }
h1 {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.updated {
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-bottom: 2.5rem;
}
h2 {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin-top: 2.2rem;
    margin-bottom: 0.8rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--skin-light);
}
p, li {
    color: var(--text-secondary);
    font-size: 0.92rem;
    margin-bottom: 0.8rem;
}
ul { padding-left: 1.4rem; margin-bottom: 0.8rem; }
a { color: var(--skin-brown); }
a:hover { color: var(--text-primary); }
footer {
    background: var(--text-primary);
    color: rgba(255,255,255,0.75);
    text-align: center;
    padding: 2rem;
    font-size: 0.78rem;
}
footer a { color: rgba(255,255,255,0.65); text-decoration: none; }
footer a:hover { color: white; }
.footer-disclaimer { margin-top: 0.5rem; font-size: 0.72rem; opacity: 0.8; }
:focus-visible {
    outline: 2px solid var(--skin-brown);
    outline-offset: 3px;
    border-radius: 4px;
}
