:root{--pink:#f58db7;--hot:#eb609d;--soft:#ffe8f2;--cream:#fffaf0;--yellow:#fff0a8;--mint:#bcebd5;--ink:#6f5361;--line:#ec9fbc;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:13px Nunito,Arial,sans-serif;background-color:#fff6f9;background-image:radial-gradient(#ffc5d9 2px,transparent 2px),radial-gradient(#ffe6a8 2px,transparent 2px);background-position:0 0,12px 12px;background-size:24px 24px}a{color:inherit}.sparkles{position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.75) 21%,transparent 22%) 0 0/210px 210px;animation:shine 12s linear infinite}.site-shell{width:min(1180px,calc(100% - 34px));margin:10px auto 24px;background:#fffdfb;border:3px solid #dca45d;outline:3px dotted #e7b969;box-shadow:0 0 0 7px #fff1c7,0 5px 18px rgba(152,95,111,.24);position:relative}.top-card{height:230px;position:relative;overflow:hidden;border:7px solid #fff;background:linear-gradient(#d9fff4 0 44%,#ffe3ef 44%);box-shadow:inset 0 0 0 2px #e8a8c0}.top-card:after{content:"";position:absolute;left:0;right:0;top:44%;height:56%;background-image:radial-gradient(rgba(255,255,255,.9) 2px,transparent 3px);background-size:17px 17px}.brand{position:absolute;z-index:2;left:4.5%;top:60px;font-family:Gaegu,cursive;color:#fff;text-shadow:-2px 0 var(--pink),0 2px var(--pink),2px 0 var(--pink),0 -2px var(--pink),3px 3px 0 #fff}.brand span{display:block;font-size:36px;font-weight:700;line-height:.7}.brand strong{font-size:83px;letter-spacing:-5px;line-height:1}.brand small{display:block;text-shadow:none;color:#ad7189;font:700 12px Nunito;letter-spacing:2px;text-align:center}.mascot{position:absolute;z-index:3;height:260px;right:5%;top:-9px;filter:drop-shadow(0 7px 0 rgba(233,116,160,.18))}.sprinkles{position:absolute;z-index:1;top:13px;left:2%;right:2%;color:#ed9bbc;font-size:22px;letter-spacing:14px;white-space:nowrap;opacity:.65}.cloud{position:absolute;width:170px;height:50px;background:rgba(255,255,255,.7);border-radius:80%;filter:blur(1px)}.cloud-a{left:10%;top:25px}.cloud-b{right:20%;top:52px}.marquee{height:28px;border-block:2px solid white;background:linear-gradient(#fff,#ffd9e8,#fff);color:#aa6982;overflow:hidden;white-space:nowrap;font:700 12px Gaegu}.marquee div{display:inline-block;min-width:100%;padding:5px 0;animation:marquee 18s linear infinite}
.page-grid{display:grid;grid-template-columns:200px minmax(0,1fr) 285px;border-top:1px solid var(--line)}.sidebar,.rightbar,.main-column{padding:5px}.sidebar{border-right:1px solid var(--line);background:#fffdf8}.rightbar{border-left:1px solid var(--line)}.side-group,.panel{border:1px solid var(--line);background:rgba(255,255,255,.9);margin-bottom:7px;box-shadow:inset 0 0 0 2px #fff}.side-group h2,.panel>h2{font:700 18px Gaegu;margin:0;padding:1px 7px;color:#d36191;text-shadow:1px 1px white;background:linear-gradient(90deg,#ffd5e6,#fff8d2);border-bottom:1px solid var(--line);text-transform:lowercase}.side-group nav{display:flex;flex-direction:column}.side-group nav a{padding:7px 9px;text-align:center;text-decoration:none;border-bottom:1px solid #f5b6cc;background:linear-gradient(#fff,#ffe2ee);transition:.15s}.side-group nav a:nth-child(even){background:linear-gradient(#fff,#fff0bd)}.side-group nav a:hover{padding-left:18px;color:#dc4d8a;background:#ffcde0}.status-box{padding:12px;text-align:center;background:#fff9fc}.status-box b,.status-box small{display:block}.status-box b{color:#55a27f}.status-box small{font-size:10px}.online{display:inline-block;width:8px;height:8px;border-radius:50%;background:#62d796;box-shadow:0 0 0 3px #d5f6e4;margin-right:5px}.tags{display:flex;flex-wrap:wrap;gap:5px;padding:9px}.tags span{border:1px solid #e5a1bb;background:#fff0f5;padding:3px 7px;border-radius:10px;font-size:10px}.tiny-note p{padding:8px;margin:0;font-size:11px;line-height:1.4}
.panel{position:relative}.welcome{min-height:230px}.welcome>h2{font-size:23px}.welcome>h2 span{color:#f2a2bf}.welcome-grid{display:grid;grid-template-columns:1fr 160px;gap:18px;padding:16px}.welcome p{line-height:1.5;margin-top:0}.cute-button{display:inline-block;background:linear-gradient(#fff,#ffd2e4);border:1px solid #df7fa5;box-shadow:inset 0 0 0 2px white,2px 2px 0 #f0aec7;border-radius:4px;padding:8px 14px;color:#bd4e7b;text-decoration:none;font-weight:800}.cute-button:hover{transform:translateY(-1px);filter:saturate(1.2)}.mini-card{align-self:start;border:1px dashed var(--pink);background:#fff7fa;padding:12px;text-align:center;border-radius:9px}.mini-card span,.mini-card small{display:block;font-size:10px}.mini-card b{font-family:Gaegu;font-size:18px;color:var(--hot)}.meter{height:10px;border:1px solid var(--pink);padding:1px;margin:8px 0;background:white}.meter i{display:block;width:96%;height:100%;background:repeating-linear-gradient(90deg,var(--pink) 0 7px,#fff 7px 9px)}.services{display:grid;grid-template-columns:1fr 1fr;padding:7px;gap:6px}.services article{position:relative;min-height:135px;border:1px solid #efb2c8;background:linear-gradient(135deg,#fff 60%,#fff0bc);padding:12px 12px 10px 58px}.services h3{font:700 20px Gaegu;color:#d55288;margin:0}.services p{font-size:11px;line-height:1.45;margin:5px 0}.services article>span{position:absolute;right:6px;bottom:2px;font:700 21px Gaegu;color:#f2bed0}.service-icon{position:absolute;left:10px;top:17px;width:37px;height:37px;border:2px dotted var(--pink);background:var(--soft);border-radius:50%;display:grid;place-items:center;color:var(--hot);font-size:18px}.steps{display:flex;align-items:center;justify-content:space-around;padding:18px 12px}.steps>div{display:flex;align-items:center;gap:8px}.steps b{display:grid;place-items:center;width:34px;height:34px;background:#ffc6dc;border:2px solid white;outline:1px solid var(--pink);border-radius:50%;font:700 21px Gaegu;color:#ad4c74}.steps strong,.steps small{display:block}.steps small{font-size:9px}.steps em{color:#e880a8;font-size:18px}
.rightbar .panel{padding-bottom:8px}.result-screen{margin:8px;background:linear-gradient(150deg,#ffd6e7,#d7f8eb);height:120px;border:4px ridge #f6aaca;display:flex;justify-content:center;align-items:center;gap:8px;color:#c64b80}.result-screen strong{font:700 26px Gaegu}.result-screen i{font-style:normal}.pixel-heart{position:absolute;margin-top:-78px;font-size:20px;color:#ef76a6}.result-card p{text-align:center;padding:0 8px;font-size:11px}.stamp{position:absolute;right:5px;bottom:4px;transform:rotate(-8deg);border:2px solid #e76599;border-radius:50%;padding:5px;color:#e76599;font:700 22px Gaegu;text-align:center;background:#fff8}.stamp small{font:700 8px Nunito;display:block}.guestbook blockquote{margin:8px;padding:9px;background:#fff3f8;border:1px solid #edb0c6;border-radius:8px;font-size:11px}.guestbook cite{display:block;text-align:right;font-size:9px;color:#bc7d95}.update-log p{margin:0 8px;padding:7px 2px;border-bottom:1px dotted #dc96b1;font-size:10px}.update-log b{color:#d8568d}.contact{margin:5px;min-height:120px;padding:14px 20px 14px 145px;display:flex;align-items:center;gap:25px;background:linear-gradient(100deg,#fff8c9,#ffe1ed 50%,#dff8ed)}.contact img{position:absolute;bottom:0;left:15px;width:125px;height:125px;object-fit:contain}.contact h2{font:700 32px Gaegu;color:#d54e87;margin:0}.contact span{font-size:10px;text-transform:uppercase;letter-spacing:2px}.contact p{margin:0}.contact .cute-button{margin-left:auto;white-space:nowrap}footer{display:flex;justify-content:center;gap:30px;padding:12px;border-top:3px double var(--line);font:12px Gaegu;text-align:center}footer p{margin:0}footer a{color:#c95283}.mobile-nav{display:none}
/* Visual-novel / literature-club layer */
body{background-color:#fff3f7;background-image:linear-gradient(rgba(255,255,255,.65) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.65) 1px,transparent 1px),radial-gradient(#ffb8d1 2px,transparent 2px);background-size:18px 18px,18px 18px,36px 36px}.top-card{height:280px;background:linear-gradient(#d9fff4 0 48%,#ffd9e8 48%)}.top-card:after{top:48%;height:52%}.brand{z-index:4;top:72px}.brand span{font-size:38px}.brand strong{font-size:92px;animation:titleFlicker 7s steps(1) infinite}.mascot{height:380px;right:1%;top:-16px;filter:drop-shadow(0 8px 0 rgba(233,116,160,.2))}.just-note{position:absolute;z-index:5;right:35%;top:32px;background:#fffdf2;border:1px solid #e88caf;padding:8px 14px;transform:rotate(-4deg);box-shadow:3px 4px 0 #f3a9c3;font:700 18px Gaegu;color:#d84b86}.just-note:after{content:"";position:absolute;width:35px;height:11px;background:#ffd2e1aa;top:-7px;left:35%;transform:rotate(3deg)}.marquee{height:30px;background:linear-gradient(#fff,#ffcae0,#fff);color:#9c536e;font-size:13px}.welcome{background-image:repeating-linear-gradient(0deg,transparent 0 25px,rgba(244,127,175,.07) 25px 26px)}.welcome>h2 span{color:#e4528d}.dialogue{position:relative;border:2px solid #f4a5c3;background:rgba(255,255,255,.9);padding:15px 15px 12px;box-shadow:inset 0 0 0 3px #fff,4px 4px 0 #ffd1e1}.dialogue>b{position:absolute;left:12px;top:-14px;padding:2px 15px;background:linear-gradient(#fb90ba,#e95f98);border:1px solid #d94f88;color:#fff;font:700 17px Gaegu;transform:skew(-8deg)}.dialogue p:first-of-type{margin-top:7px}.rightbar .panel:nth-child(2){transform:rotate(.35deg)}.contact{min-height:150px;padding-left:175px;overflow:hidden}.contact-portrait{position:absolute;bottom:0;left:5px;width:165px;height:150px;overflow:hidden}.contact-portrait img{position:absolute;top:0;left:0;width:165px;height:auto;transform:translateY(-7px)}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes shine{to{background-position:420px 420px}}@keyframes titleFlicker{0%,94%,97%,100%{text-shadow:-2px 0 var(--pink),0 2px var(--pink),2px 0 var(--pink),0 -2px var(--pink),4px 4px 0 #fff}95%{text-shadow:-5px 0 #79efd0,5px 0 #ff5d9d}}
@media(max-width:850px){.site-shell{width:min(96%,680px)}.top-card{height:205px}.brand{left:4%;top:55px}.brand span{font-size:28px}.brand strong{font-size:62px}.mascot{height:220px;right:-2%}.page-grid{grid-template-columns:155px 1fr}.rightbar{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.rightbar .panel{margin:0}.contact{padding-left:120px}.contact img{width:105px}.contact{flex-wrap:wrap}.contact .cute-button{margin-left:0}}
@media(max-width:580px){body{background-size:18px 18px}.site-shell{width:calc(100% - 14px);margin-top:7px}.top-card{height:180px}.brand{top:43px}.brand span{font-size:23px}.brand strong{font-size:52px}.brand small{font-size:8px}.mascot{height:175px;right:-24px;top:5px}.sprinkles{font-size:14px}.mobile-nav{display:block;padding:5px;border-top:1px solid var(--line)}.mobile-nav button{width:100%;padding:8px;border:1px solid var(--pink);background:linear-gradient(#fff,#ffd9e8);color:#b94a76;font-weight:bold}.page-grid{display:block}.sidebar{display:none;border:0}.sidebar.open{display:block}.rightbar{display:block;border:0}.rightbar .panel{margin-bottom:7px}.welcome-grid,.services{grid-template-columns:1fr}.mini-card{display:none}.steps{align-items:stretch;flex-direction:column;gap:7px}.steps em{transform:rotate(90deg);align-self:center}.contact{padding:16px 12px 115px;text-align:center;justify-content:center}.contact img{width:115px;left:calc(50% - 57px)}footer{display:block}.marquee div{animation-duration:12s}}
@media(max-width:850px){.top-card{height:235px}.brand{top:62px}.mascot{height:315px;right:-4%;top:-12px}.just-note{right:34%;top:25px}.contact{padding-left:145px}.contact-portrait{width:135px}.contact-portrait img{width:135px}}
@media(max-width:580px){.top-card{height:200px}.brand{top:50px}.brand strong{font-size:58px}.mascot{height:245px;right:-16%;top:0}.just-note{right:28%;top:17px;font-size:13px;padding:5px 9px}.contact{padding:16px 12px 135px}.contact-portrait{width:130px;height:125px;left:calc(50% - 65px)}.contact-portrait img{width:130px}.dialogue{padding:17px 12px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div,.sparkles,.brand strong{animation:none}}
