:root{color-scheme:light;font-family:"M PLUS Rounded 1c",Nunito,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;background:#fff6fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;min-width:320px;overflow-x:hidden;color:#593252}button,input{font:inherit}.mahiro-app{min-height:300vh;background:radial-gradient(circle at 12% 10%,rgba(255,170,210,.52),transparent 20%),radial-gradient(circle at 86% 22%,rgba(138,224,255,.52),transparent 24%),linear-gradient(180deg,#fff8fc,#fff0f8 32%,#effaff 64%,#fff4d8);isolation:isolate}.kawaii-page{min-height:100vh;scroll-snap-align:start;position:relative;display:grid;place-items:center;padding:clamp(80px,9vh,112px) clamp(14px,5vw,72px) clamp(72px,9vh,108px);overflow:hidden}.kawaii-page+.kawaii-page:before{content:"";position:absolute;top:-30px;left:0;right:0;height:62px;background:radial-gradient(circle at 24px 30px,#fff 0 28px,transparent 29px) 0 0 / 78px 62px repeat-x,linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);opacity:.92}.page-morning{background:repeating-linear-gradient(90deg,rgba(255,255,255,.48) 0 14px,transparent 14px 34px),linear-gradient(135deg,#ffe9f4,#eef9ff)}.page-closet{background:radial-gradient(circle at 30% 32%,rgba(255,255,255,.86),transparent 18%),repeating-linear-gradient(45deg,#ffb6dc3d 0,#ffb6dc3d 18px,#b2eaff3d 18px,#b2eaff3d 36px),#fff6fb}.page-snack{background:radial-gradient(circle at 75% 18%,rgba(255,226,112,.55),transparent 20%),repeating-radial-gradient(circle at 16% 70%,rgba(255,128,190,.2) 0 10px,transparent 10px 28px),#fff8d9}.page-panel{width:min(1160px,100%);min-height:min(690px,calc(100vh - 150px));display:grid;grid-template-columns:minmax(280px,.9fr) minmax(310px,1.1fr);align-items:center;gap:clamp(22px,5vw,66px)}.copy-side{position:relative;z-index:3}.page-tag{margin:0 0 14px;width:max-content;padding:8px 12px;border:2px solid #ff8cc7;border-radius:8px;background:#ffffffc2;color:#d94f97;font-weight:900}.split-title{margin:0;max-width:12ch;color:#593252;font-size:clamp(2.35rem,7vw,5.9rem);line-height:.96;font-weight:900;letter-spacing:0}.split-word,.split-char{display:inline-block}.lead{max-width:35rem;margin:22px 0 0;color:#74496f;font-size:clamp(1rem,2vw,1.24rem);line-height:1.8}.scramble-line{min-height:1.6em;margin:22px 0 0;color:#2e8ca2;font-weight:900}.hero-card{position:relative;z-index:2;min-height:520px;border:3px solid rgba(255,255,255,.92);border-radius:8px;background:linear-gradient(180deg,#ffffffd1,#ffffff8f),repeating-linear-gradient(0deg,rgba(255,141,199,.13) 0 2px,transparent 2px 22px);box-shadow:0 28px 70px #ca70a340,inset 0 0 0 8px #ffffff57;overflow:hidden}.character-stage{display:grid;place-items:center}.character-cutout{position:relative;z-index:3;width:min(74%,430px);max-height:500px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(155,86,128,.25));will-change:transform}.spark-burst{position:absolute;top:10%;right:10%;bottom:10%;left:10%;z-index:1;opacity:.4;background:conic-gradient(from 18deg,transparent 0 12deg,rgba(255,144,204,.76) 12deg 20deg,transparent 20deg 36deg),radial-gradient(circle,rgba(255,255,255,.96),transparent 60%);transform:scale(.92);pointer-events:none}.outfit-switch{position:absolute;right:16px;bottom:16px;z-index:4;display:flex;gap:8px}.outfit-card{min-width:74px;min-height:42px;border:2px solid rgba(118,76,111,.18);border-radius:8px;background:#fff;color:#5c3455;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease}.outfit-card:hover,.outfit-card.active{transform:translateY(-2px);border-color:#ff79b7}.outfit-card.mint.active{background:#cff8ef}.outfit-card.berry.active{background:#ffd9ed}.face-board{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));align-content:center;gap:14px;padding:clamp(18px,4vw,38px)}.face-chip{aspect-ratio:1;border:3px solid rgba(255,255,255,.96);border-radius:8px;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.9),transparent 28%),#ffd9ec;box-shadow:0 12px 28px #c25d922e;cursor:pointer;overflow:hidden}.face-chip:nth-child(2n){background:#dff7ff}.face-chip img{width:100%;height:100%;object-fit:contain;display:block}.play-mat{display:grid;place-items:center;background:repeating-linear-gradient(90deg,#ff91ca33 0,#ff91ca33 22px,#a8e5ff33 22px,#a8e5ff33 44px),#fff}.mini-mahiro{width:min(58%,300px);max-height:420px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(155,86,128,.24));pointer-events:none}.sticker{position:absolute;z-index:5;min-width:78px;min-height:40px;display:grid;place-items:center;padding:8px 12px;border:3px solid #fff;border-radius:8px;color:#61365a;font-weight:900;box-shadow:0 10px 20px #a5628b33;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform}.sticker-a{left:12%;top:18%;background:#ffcae3;transform:rotate(-8deg)}.sticker-b{right:13%;top:22%;background:#fff0a8;transform:rotate(6deg)}.sticker-c{left:16%;bottom:18%;background:#c9f5ff;transform:rotate(9deg)}.sticker-d{right:18%;bottom:20%;background:#d9ffd7;font-size:1.4rem;transform:rotate(-12deg)}.cloud{position:absolute;z-index:1;width:clamp(120px,17vw,230px);aspect-ratio:2.3 / 1;border-radius:999px;background:#ffffffb8;filter:blur(.2px);will-change:transform}.cloud:before,.cloud:after{content:"";position:absolute;bottom:20%;width:42%;aspect-ratio:1;border-radius:50%;background:inherit}.cloud:before{left:14%}.cloud:after{right:18%;width:34%}.cloud-a{top:12%;left:5%}.cloud-b{right:6%;bottom:13%}.motion-map{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100vw;height:100vh;opacity:0;pointer-events:none}.heart-runner{position:fixed;z-index:6;left:0;top:0;color:#ff68aa;fill:#ff9dc9;filter:drop-shadow(0 4px 7px rgba(218,77,149,.28));pointer-events:none}.music-bubble{position:fixed;right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:30;width:min(560px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(94px,154px) minmax(72px,112px);align-items:center;gap:9px;padding:10px;border:2px solid rgba(255,255,255,.96);border-radius:8px;background:#fff6fbd6;box-shadow:0 16px 40px #c25d9233;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.music-title{min-width:0;display:flex;align-items:center;gap:8px;color:#714168;font-size:.84rem;font-weight:900}.music-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-controls{display:flex;gap:6px}.music-controls button{width:34px;height:34px;display:grid;place-items:center;border:2px solid rgba(255,126,185,.42);border-radius:8px;background:#fff;color:#cc4e8f;cursor:pointer}.music-controls button:disabled{cursor:not-allowed;opacity:.42}.music-progress,.volume input{width:100%;accent-color:#ff78b7}.volume{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;color:#cc4e8f}@media (max-width: 780px){html{scroll-snap-type:y proximity}.kawaii-page{padding:76px 14px 112px}.page-panel{min-height:auto;grid-template-columns:1fr;gap:24px}.split-title{max-width:14ch;font-size:clamp(2.3rem,12vw,4rem)}.hero-card{min-height:430px}.character-cutout{width:min(76%,320px)}.music-bubble{left:12px;right:12px;width:auto;grid-template-columns:1fr auto}.music-progress,.volume{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
