@font-face { font-family: "Libre Franklin"; src: url("assets/fonts/libre-franklin.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("assets/fonts/source-serif-4.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font: 400 17px/1.6 "Source Serif 4", Georgia, serif; background: #ffffff; color: #111111; min-height: 100vh; }
header { padding: 32px clamp(16px, 2.8vw, 40px) 56px; max-width: 800px; margin: 0 auto; }
.app-icon { border-radius: 16px; margin-bottom: 20px; display: block; }
header h1 { font: 700 clamp(2.5rem, 1.6rem + 3vw, 3.5rem)/1 "Libre Franklin", -apple-system, sans-serif; letter-spacing: -0.035em; margin-bottom: 8px; }
header p { color: #5f5f5f; }
nav { margin-top: 16px; font: 600 14px/1.5 "Libre Franklin", -apple-system, sans-serif; }
nav a { color: #4f46e5; }
main { max-width: 800px; margin: 0 auto; padding: 0 clamp(16px, 2.8vw, 40px) 96px; }
.effective { font-size: 14px; color: #5f5f5f; margin-bottom: 40px; }
.summary-box { background: #f4f4f4; padding: 24px; margin-bottom: 48px; }
.summary-box p { color: #111111; margin: 0; }
section { margin-bottom: 40px; }
h2 { font: 700 22px/1.2 "Libre Franklin", -apple-system, sans-serif; letter-spacing: -0.02em; margin-bottom: 12px; }
p { margin-bottom: 12px; }
ul { margin: 8px 0 12px; padding-left: 20px; }
li { padding: 3px 0; }
li::marker { color: #4f46e5; }
a { color: #4f46e5; overflow-wrap: anywhere; }
footer { padding: 32px clamp(16px, 2.8vw, 40px); background: #f4f4f4; color: #5f5f5f; font-size: 14px; text-align: center; }
footer a { color: #111111; }
