:root{--bg: #fff0f6;--bg-card: #ffffff;--pink: #ff5a9c;--pink-deep: #e8478a;--pink-soft: #ffd6e7;--pink-bright: #ffadd1;--text: #4a2638;--text-dim: #8a5e74;--shadow: 0 6px 20px rgba(255, 90, 156, .15);--shadow-hover: 0 10px 30px rgba(255, 90, 156, .28);--radius: 20px;--font-jp: "Kosugi Maru", "Hiragino Maru Gothic ProN", "Yu Gothic UI", sans-serif;--font-jp-pop: "Mochiy Pop One", "Hiragino Maru Gothic ProN", sans-serif;--font-jp-cute: "Yusei Magic", "Hiragino Maru Gothic ProN", sans-serif;--font-en-cursive: "Sacramento", "Pacifico", cursive;--font-en-script: "Pacifico", "Sacramento", cursive}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-jp);background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{min-height:100vh;background:radial-gradient(circle at 50% -100px,var(--pink-bright) 0%,transparent 35%),radial-gradient(circle at 100% 50%,rgba(255,173,209,.25) 0%,transparent 30%),radial-gradient(circle at 0% 80%,rgba(255,173,209,.2) 0%,transparent 30%),var(--bg)}body:before{content:"✨";position:fixed;top:8%;left:6%;font-size:1.5rem;opacity:.5;animation:twinkle 3s ease-in-out infinite;pointer-events:none;z-index:0}body:after{content:"🩷";position:fixed;bottom:12%;right:6%;font-size:1.2rem;opacity:.4;animation:twinkle 4s ease-in-out infinite 1s;pointer-events:none;z-index:0}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.container{max-width:540px;margin:0 auto;padding:0 0 4rem}.banner{display:grid;gap:0;width:100%;overflow:hidden}.banner--1{aspect-ratio:1 / 1;grid-template-columns:1fr}.banner--2{aspect-ratio:16 / 11;grid-template-columns:1fr 1fr}.banner-img{width:100%;height:100%;object-fit:cover;display:block}.profile{padding:1.5rem 1.5rem 1rem;position:relative}.profile h1{font-family:var(--font-en-cursive);font-size:2.8rem;font-weight:400;margin-bottom:.3rem;color:var(--pink-deep);line-height:1.1;letter-spacing:.02em;text-shadow:0 2px 8px rgba(255,90,156,.25)}.bio p{font-family:var(--font-jp);color:var(--text-dim);font-size:.95rem;line-height:1.7;margin:.2rem 0;letter-spacing:.02em}.bio p:nth-child(2){font-family:var(--font-en-script);font-size:1.05rem;color:var(--pink);margin:.4rem 0}.socials{display:flex;gap:.75rem;margin-top:1rem;align-items:center}.socials a{color:var(--text);display:inline-flex;align-items:center;transition:transform .15s,color .15s}.socials a:hover{transform:translateY(-2px);color:var(--pink)}.main-cards{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem}.main-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;display:block}.main-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.main-card-img{width:100%;height:200px;object-fit:cover;display:block}.main-card h2{padding:.85rem 1rem .3rem;font-family:var(--font-jp-pop);font-size:1.25rem;font-weight:400;color:var(--pink-deep);letter-spacing:.02em}.main-card h2 span{margin:0 .35rem;font-family:var(--font-en-script);font-size:1.4rem;color:var(--pink);vertical-align:-2px}.main-card-desc{padding:0 1rem 1.1rem;font-family:var(--font-jp);color:var(--text-dim);font-size:.92rem;line-height:1.75;white-space:pre-line;letter-spacing:.02em}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:0 1.5rem}.mini-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .18s;text-align:center;padding-bottom:.5rem}.mini-card:hover{transform:translateY(-2px)}.mini-card-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.mini-card h3{font-family:var(--font-jp-cute);font-size:.92rem;font-weight:400;color:var(--pink-deep);padding:.45rem .4rem .15rem;line-height:1.3}.mini-card-sub{font-family:var(--font-jp);font-size:.72rem;color:var(--text-dim);padding:0 .4rem;line-height:1.5;letter-spacing:.02em}.bottom-card-wrap{padding:1rem 1.5rem 0}.bottom-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);display:block;position:relative}.bottom-tagline{position:absolute;top:.6rem;left:50%;transform:translate(-50%);background:#ffffffe6;backdrop-filter:blur(8px);padding:.4rem 1rem;border-radius:999px;font-family:var(--font-jp-cute);font-size:.85rem;color:var(--pink-deep);z-index:2;box-shadow:0 2px 10px #ff5a9c33}.bottom-img{width:100%;height:280px;object-fit:cover;display:block}.bottom-title{position:absolute;bottom:.8rem;left:50%;transform:translate(-50%);background:#ffffffe6;backdrop-filter:blur(8px);padding:.5rem 1.1rem;border-radius:999px;font-family:var(--font-jp-pop);font-size:.92rem;color:var(--pink-deep);z-index:2;text-align:center;width:max-content;max-width:90%;box-shadow:0 2px 10px #ff5a9c33}.footer{text-align:center;padding:2rem 1rem 1rem;color:var(--text-dim)}.footer .brand{font-family:var(--font-en-cursive);font-weight:400;color:var(--pink-deep);font-size:2rem;letter-spacing:.02em;text-shadow:0 2px 8px rgba(255,90,156,.2)}.footer .brand:before{content:"♡ ";opacity:.7}.footer .brand:after{content:" ♡";opacity:.7}.footer .powered{font-size:.75rem;margin-top:.4rem;opacity:.7}.footer .powered a{color:var(--text-dim);text-decoration:underline}@media(max-width:480px){.profile h1{font-size:2.4rem}.main-card-img{height:180px}.main-card h2{font-size:1.15rem}.main-card h2 span{font-size:1.3rem}.bottom-img{height:240px}.mini-card h3{font-size:.85rem}.mini-card-sub{font-size:.7rem}.footer .brand{font-size:1.8rem}}
