
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&family=Parisienne&family=Pixelify+Sans:wght@400;600&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

:root{--cream:#fffaf5;--paper:#fffdf9;--pink:#c9808e;--pink-dark:#a85f74;--pink-light:#e8c5c8;--line:#ddb1b7;--brown:#5d4541;--muted:#9f8078}
*{box-sizing:border-box}
body{margin:0;padding:22px 12px 60px;background:radial-gradient(circle,#edb8c2 1px,transparent 1.5px);background-size:25px 25px;background-color:var(--cream);color:var(--brown);font-family:"Zen Maru Gothic",sans-serif}
.site{width:100%;max-width:760px;margin:0 auto}
.site-header{text-align:center;padding:28px 10px 22px}
.site-title{margin:0;color:var(--pink);font-family:"Parisienne",cursive;font-size:clamp(50px,13vw,86px);font-weight:normal;line-height:1}
.tagline{margin:12px 0 0;color:var(--muted);font-family:"Pixelify Sans",sans-serif;font-size:clamp(15px,4vw,19px);letter-spacing:.08em}
.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:5px 0 30px}
.nav a{padding:9px 13px;background:rgba(255,253,249,.96);color:var(--pink-dark);border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 0 var(--pink-light);text-decoration:none;font-family:"Pixelify Sans",sans-serif;font-size:15px}
.card{background:rgba(255,253,249,.96);border:1px solid #e0b9bd;border-radius:26px 18px 26px 18px;box-shadow:0 5px 15px rgba(127,87,87,.08)}
.hero{position:relative;padding:64px 28px 46px;text-align:center;margin-bottom:26px}
.hero::before{content:"🎀";position:absolute;top:-27px;left:50%;transform:translateX(-50%);font-size:48px}
.pixel-title{margin:0 0 22px;color:#c56e85;font-family:"Pixelify Sans",sans-serif;font-size:clamp(31px,8vw,46px);letter-spacing:.12em}
.lead{margin:0;font-family:"Kiwi Maru",serif;font-size:clamp(15px,4vw,19px);line-height:2.05}
.english{margin:24px 0 0;color:var(--muted);font-size:clamp(13px,3.6vw,16px);line-height:1.9}
.since{margin:22px 0 0;color:#b17c85;font-family:"Parisienne",cursive;font-size:28px}
.section-title{margin:34px 0 16px;color:#c56e85;text-align:center;font-family:"Pixelify Sans",sans-serif;font-size:30px;letter-spacing:.15em}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.menu-grid a{display:block;padding:17px 10px;background:rgba(255,253,249,.96);color:var(--pink-dark);border:1.5px solid var(--line);border-radius:18px 12px 18px 12px;box-shadow:0 4px 0 var(--pink-light);text-align:center;text-decoration:none;font-family:"Pixelify Sans","Zen Maru Gothic",sans-serif;font-size:clamp(17px,4.4vw,22px)}
.news,.profile-card,.post,.gallery-card,.info-card,.latest-entry{margin-top:24px;padding:22px}
.news h2,.profile-card h2,.info-card h2{margin:0 0 12px;color:#c56e85;text-align:center;font-family:"Pixelify Sans",sans-serif;font-size:25px}
.date{color:#b47e87;font-family:"Pixelify Sans",sans-serif;font-size:14px}
.entry-title,.post h2{margin:10px 0 15px;color:#bd657e;font-family:"Kiwi Maru",serif;font-size:24px;font-weight:500}
.entry-text,.post p{margin:0;font-family:"Kiwi Maru",serif;line-height:2}
.more{display:inline-block;margin-top:16px;color:#b75f79;text-decoration:none;font-family:"Pixelify Sans",sans-serif}
.categories{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 24px}
.categories span{padding:7px 12px;background:#fff7f3;color:#a76475;border:1px dashed #d59aa5;border-radius:20px;font-size:13px}
.post{margin-bottom:24px}
.post-footer{margin-top:20px;padding-top:14px;border-top:1px dashed #dfb4ba;color:#a47e78;font-size:12px}
.profile-list{display:grid;grid-template-columns:110px 1fr;gap:10px 16px;margin:0}
.profile-list dt{color:#b66d81;font-family:"Pixelify Sans",sans-serif}

.profile-list dd{margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.placeholder{aspect-ratio:1/1;display:grid;place-items:center;background:#fff4f3;border:1px dashed #d7a3ad;border-radius:16px;color:#b8838d;text-align:center;padding:12px}
.welcome {
  font-family: "Parisienne", cursive;
  font-size: 38px;
  color: #c9808e;
  text-align: center;
  line-height: 1.35;
}
.note{color:var(--muted);font-size:13px;line-height:1.8}
.footer{margin-top:36px;color:#a88982;text-align:center;font-size:12px;line-height:1.8}
@media(max-width:480px){body{padding:18px 10px 45px}.hero{padding:58px 22px 42px}.profile-list{grid-template-columns:90px 1fr}}
