:root{--hot:#ff2fa8;--pink:#ff78c8;--pale:#ffe9f7;--purple:#a15bff;--blue:#7de8ff;--yellow:#fff36b;--ink:#6c2755;--panel-border:#ff7fc8;--dark-panel:#120b17}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{min-width:0;min-height:100dvh;color:var(--ink);cursor:crosshair;background-color:#ffd9f3;background-image:radial-gradient(circle at 20px 20px,#fff 0 2px,#0000 3px),radial-gradient(circle at 55px 75px,#fff9 0 1px,#0000 2px),linear-gradient(135deg,#ffd1ef 25%,#d9f8ff 25% 50%,#fff1ac 50% 75%,#f5dbff 75%);background-size:90px 90px,120px 120px,320px 320px;margin:0;font-family:Trebuchet MS,Verdana,Arial,sans-serif;font-size:14px;overflow-x:hidden}body.modal-open{overflow:hidden}img{max-width:100%}a{color:#e40081;font-weight:700;text-decoration:none}a:hover{color:#7a35c8;background:#fff7a8;text-decoration:underline}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #6d35d8}.page-shell{background:#fff8fe;border:5px ridge #fff;width:min(1120px,96%);margin:14px auto;box-shadow:0 0 0 4px #ff74c6,0 0 25px #ff80cf99}.sticker-box{position:relative;overflow:hidden}.three-col{background:repeating-linear-gradient(0deg,#fff 0 20px,#fff5fb 20px 40px);grid-template-columns:205px minmax(0,1fr) 205px;gap:9px;padding:9px;display:grid}.content-col,.sidebar{min-width:0}.panel{border:2px solid var(--panel-border);background:#fff;margin-bottom:9px;padding:8px;box-shadow:inset 0 0 0 2px #ffd7ef}.panel h2{color:#fff;letter-spacing:.5px;text-align:center;text-shadow:1px 1px #8d2766;background:linear-gradient(90deg,#ff3ca9,#a764ff,#ff69bd);border-bottom:2px solid #fff;margin:-8px -8px 8px;padding:6px;font-size:13px}.avatar-frame{aspect-ratio:1;background:#ffd5ee;border:3px double #fff;width:150px;margin:6px auto;padding:6px;overflow:hidden}.profile-photo{object-fit:cover;object-position:center;border:2px dashed #fff;width:100%;height:100%;display:block}.profile-card p{margin:5px 0;font-size:11px}.mini-links{gap:3px;margin-top:8px;display:grid}.mini-links a,.nav-panel a,.links-panel a{background:#fff1fa;border:1px dashed #ff69ba;margin:3px 0;padding:5px;font-size:11px;display:block}.welcome-panel p{line-height:1.55}.alert-box{text-align:center;background:#fff6b0;border:2px dashed #ff36a8;padding:7px;font-size:11px;font-weight:700;animation:1.6s steps(2,end) infinite soft-blink}@keyframes soft-blink{50%{opacity:.55}}.event-item{border-bottom:1px dotted #ff7bc5;grid-template-columns:58px minmax(0,1fr);gap:9px;padding:8px 0;display:grid}.event-item:last-child{border-bottom:0}.event-date{color:#fff;text-align:center;background:#ff53b4;border:3px double #fff;align-self:start;box-shadow:0 0 0 1px #ff53b4}.event-date b{font-size:10px;display:block}.event-date span{font-family:Impact,sans-serif;font-size:28px}.event-item h3{color:#d21079;margin:0;font-size:14px}.event-item p{margin:3px 0;font-size:11px}.event-item small{color:#8a5376}.blinkie{color:#fff;text-align:center;text-shadow:1px 1px #555;border:2px ridge #fff;margin:5px 0;padding:4px;font-size:10px;font-weight:900}.blinkie.pink{background:#ff3ca6}.blinkie.blue{background:#49cfea}.blinkie.purple{background:#a95cff}.blinkie.yellow{color:#7f335a;background:#ffbd3b}.links-panel{text-align:center}footer{text-align:center;background:#ffe0f4;border-top:4px double #ff49ad;padding:12px;font-size:10px}.footer-banners{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.footer-banners span{color:#fff;background:#ff5fb8;border:2px outset #fff;padding:4px 8px}.sparkle{z-index:9999;pointer-events:none;color:#fff;text-shadow:0 0 3px #ff49ad;font-size:16px;animation:.7s ease-out forwards sparkle-pop;position:fixed}@keyframes sparkle-pop{to{opacity:0;transform:translateY(-16px)scale(.2)rotate(120deg)}}.gallery-panel{overflow:hidden}.gallery-intro{color:#9b4b79;text-align:center;margin:0 0 8px;font-size:10px}.carousel{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:6px;display:grid;position:relative}.carousel__viewport{touch-action:pan-y;background:#170e1c;border:4px ridge #ff9bd1;min-width:0;overflow:hidden}.carousel__track{will-change:transform;transition:transform .45s cubic-bezier(.2,.75,.25,1);display:flex}.carousel__slide{background:var(--dark-panel);flex:0 0 100%;min-width:0;margin:0;position:relative}.carousel__image-button{cursor:zoom-in;background:var(--dark-panel);border:0;width:100%;padding:0;display:block}.carousel__slide img{background:var(--dark-panel);object-fit:contain;width:100%;height:430px;display:block}.carousel__slide figcaption{color:#fff;text-shadow:1px 1px #7b215b;background:linear-gradient(90deg,#ff3ca9,#a764ff,#ff69bd);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:10px;display:flex}.carousel__slide figcaption span{text-align:right;font-size:9px}.carousel__arrow{cursor:pointer;color:#fff;text-shadow:2px 2px #a80061;background:#ff3fa7;border:4px outset #ffc4e7;width:42px;height:70px;padding:0;font:900 34px/1 Arial,sans-serif;box-shadow:0 0 0 1px #ff4dac}.carousel__arrow:hover{filter:brightness(1.1)saturate(1.2)}.carousel__dots{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.carousel__dots button{cursor:pointer;background:#ffc1e5;border:2px outset #fff;border-radius:50%;width:13px;height:13px;padding:0}.carousel__dots button.is-active{background:#ff38a4;box-shadow:0 0 7px #ff38a4}.carousel__thumbs{grid-template-columns:repeat(4,minmax(48px,1fr));gap:5px;display:grid}.carousel__thumbs button{cursor:pointer;background:#fff;border:3px outset #ffc7e8;min-width:0;padding:2px}.carousel__thumbs button.is-active{background:#ff72c2;border-style:inset}.carousel__thumbs img{aspect-ratio:1;object-fit:cover;background:#160d1b;width:100%;display:block}dialog.lightbox{color:#762753;background:#170e1d;border:5px ridge #ff74c0;width:min(96vw,1240px);max-width:none;height:min(92dvh,900px);max-height:none;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 0 0 9999px #240b2099}dialog.lightbox::backdrop{background:#240b2099}.lightbox__content{grid-template-columns:minmax(0,3fr) minmax(280px,1.25fr);width:100%;height:100%;min-height:0;display:grid}.lightbox__media{background:#110a16;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.lightbox__media img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.lightbox__caption{background:#fff0fa;border-left:3px solid #ff9bd2;min-width:0;padding:28px 30px;overflow:auto}.lightbox__caption h2{color:#e10b82;margin:0 0 14px;font:900 clamp(25px,3vw,38px)/1.05 Arial,sans-serif}.lightbox__caption p{color:#762753;font-size:16px;line-height:1.45}.lightbox__close{z-index:6;cursor:pointer;color:#fff;background:#ff3ca9;border:4px outset #ffd2ec;border-radius:50%;width:48px;height:48px;padding:0;font:900 31px/1 Arial,sans-serif;position:absolute;top:8px;right:10px}.lightbox__arrow{z-index:5;cursor:pointer;color:#fff;background:#ff3ca9;border:4px outset #ffd2ec;width:54px;height:88px;padding:0;font:900 38px/1 Arial,sans-serif;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__arrow--prev{left:0}.lightbox__arrow--next{right:0}.set-buy-links{flex-direction:column;gap:10px;margin-top:24px;display:flex}.set-buy-button{color:#fff;text-align:center;text-shadow:1px 1px #a60060;background:linear-gradient(#ff8ed8,#ff3fa4);border:3px outset #ffd4ec;padding:12px 15px;font-size:13px;font-weight:900;text-decoration:none;transition:transform .15s,filter .15s;display:block;box-shadow:0 0 0 2px #fff,0 0 10px #ff8dcc}.set-buy-button:hover{filter:saturate(1.25)brightness(1.05);transform:translateY(-2px)}.set-buy-button--shop{color:#8a205e;text-shadow:none;background:linear-gradient(#ffef79,#ff78c8)}.set-buy-button--gumroad{background:linear-gradient(#c895ff,#ff62b7)}.set-buy-button[hidden]{display:none!important}@media (width<=900px){.three-col{grid-template-columns:170px minmax(0,1fr)}.right-col{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.right-col .panel{margin:0}.carousel__slide img{height:390px}dialog.lightbox{width:96vw;height:min(94dvh,900px)}.lightbox__content{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.lightbox__caption{border-top:3px solid #ff9bd2;border-left:0;max-height:34dvh;padding:16px 18px}.lightbox__caption h2{margin-bottom:7px;font-size:24px}.lightbox__caption p{margin:6px 0;font-size:13px}.set-buy-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;display:grid}.set-buy-button{padding:10px 6px;font-size:10px}}@media (width<=680px){html{scroll-padding-top:68px}body{font-size:13px}.page-shell{width:100%;box-shadow:none;border-width:2px;margin:0}.three-col{grid-template-columns:minmax(0,1fr);padding:7px}.content-col{grid-row:1}.left-col,.right-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.left-col .panel,.right-col .panel{margin:0}.carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:3px}.carousel__arrow{border-width:3px;width:32px;height:56px;font-size:27px}.carousel__slide img{height:clamp(250px,62vw,390px)}.carousel__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.carousel__slide figcaption{flex-direction:column;align-items:flex-start;gap:2px}dialog.lightbox{border-width:3px;width:calc(100vw - 12px);height:auto;max-height:calc(100dvh - 12px)}.lightbox__content{flex-direction:column;height:auto;max-height:calc(100dvh - 18px);display:flex;overflow-y:auto}.lightbox__media{flex:none;width:100%;min-height:0;overflow:visible}.lightbox__media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:62dvh}.lightbox__caption{max-height:none;padding:14px 14px calc(18px + env(safe-area-inset-bottom));flex:none;overflow:visible}.lightbox__arrow{width:40px;height:64px;font-size:30px;top:min(48%,42dvh)}.lightbox__close{top:max(6px, env(safe-area-inset-top));width:44px;height:44px;right:6px}.set-buy-links{grid-template-columns:1fr}}@media (width<=430px){.left-col,.right-col{grid-template-columns:1fr}.avatar-frame{width:min(170px,65vw)}.event-item{grid-template-columns:52px minmax(0,1fr)}.event-date span{font-size:24px}.carousel{grid-template-columns:28px minmax(0,1fr) 28px}.carousel__arrow{width:28px;height:52px;font-size:24px}.carousel__thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.navbar{z-index:20;padding-top:env(safe-area-inset-top);background:linear-gradient(#ff8fd2,#ff4db1);border-bottom:4px ridge #fff;position:sticky;top:0;box-shadow:0 3px #e2329a}.navbar__tiny{color:#fff;letter-spacing:1px;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;font-size:10px;overflow:hidden}.navbar__links{scrollbar-width:none;justify-content:center;gap:4px;padding:5px;display:flex;overflow-x:auto}.navbar__links::-webkit-scrollbar{display:none}.navbar__links a{color:#d10a7d;background:#fff;border:2px outset #ffd7ee;flex:none;padding:6px 11px;font-size:11px}@media (width<=430px){.navbar__links{justify-content:flex-start}.navbar__links a{padding-inline:10px}}.hero{text-align:center;background:linear-gradient(#fff7,#fff4),radial-gradient(circle at 20% 30%,#fff35a 0 2%,#0000 7%),radial-gradient(circle at 80% 40%,#7de8ff 0 3%,#0000 8%),linear-gradient(120deg,#ff8fd9,#ffd2f1 35%,#aff4ff 65%,#fff397);border-bottom:6px double #ff3ba8;min-height:275px;padding:28px 16px 22px}.hero:before,.hero:after{content:"♡ ✦ ☆ ♡ ✧ ☆ ♡";color:#fff;text-shadow:1px 1px #ff47ad;font-size:34px;position:absolute;transform:rotate(-12deg)}.hero:before{top:80px;left:24px}.hero:after{bottom:55px;right:26px;transform:rotate(12deg)}.hero__eyebrow{border:2px dashed var(--hot);background:#fff;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.hero h1{color:#fff;letter-spacing:-4px;text-shadow:3px 3px #ff2d9b,6px 6px #954cff,-2px -2px #fff;margin:5px 0;font-family:Arial Black,Impact,sans-serif;font-size:clamp(38px,6vw,64px);line-height:.85}.hero h1 span{color:#fff56a;text-shadow:3px 3px #ff2d9b,6px 6px #5cc9ff}.hero__jp{color:#fff;background:#ff36a8;border-radius:12px;max-width:100%;padding:4px 18px;font-size:16px;display:inline-block;box-shadow:0 0 0 3px #fff}.hero__badges{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.hero__badges span{background:#fff;border:2px dotted #ff3ba8;padding:4px 8px;font-size:10px}.hero__note{font-size:10px}@media (width<=680px){.hero{min-height:0;padding:36px 12px 28px}.hero:before,.hero:after{display:none}.hero h1{letter-spacing:-2px}.hero__jp{font-size:14px}}@media (width<=380px){.hero h1{font-size:32px}}
