html,body{margin:0;padding:0;background:#ffe3ee}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a{color:#e0457b}a:hover{color:#b8285c}@keyframes srFly{0%{transform:translate(-50%,-50%) scale(.3) rotate(0);opacity:1}70%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(var(--s)) rotate(var(--r));opacity:0}}@keyframes srRise{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}20%{transform:translate(-50%,-90%) scale(1.25);opacity:1}to{transform:translate(-50%,-260%) scale(1);opacity:0}}@keyframes srFall{0%{transform:translate(-50%,-50%) scale(1.3);opacity:0}20%{opacity:1}to{transform:translate(-50%,120%) scale(.8) rotate(-12deg);opacity:0}}:root{--vh: 1vh}@supports (height: 1dvh){:root{--vh: 1dvh}}.page{min-height:calc(var(--vh) * 100);width:100%;font-family:Nunito,sans-serif;color:#5a2840;background-color:#ffe3ee;background-image:radial-gradient(#ffc3d9 2.5px,transparent 2.5px),radial-gradient(#fff 2px,transparent 2px);background-size:34px 34px,34px 34px;background-position:0 0,17px 17px;display:flex;align-items:center;justify-content:center;padding:clamp(34px,calc(var(--vh) * 5),48px) clamp(12px,3vw,32px) clamp(14px,calc(var(--vh) * 2.5),48px);overflow:hidden;position:relative}.kitty{position:absolute;z-index:0}.kitty img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 6px 0 rgba(160,60,100,.18));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.kitty-1{left:2%;top:4%;width:clamp(90px,18vw,220px);height:clamp(90px,18vw,220px);transform:rotate(-10deg)}.kitty-2{right:2%;top:10%;width:clamp(80px,15vw,190px);height:clamp(80px,15vw,190px);transform:rotate(12deg)}.kitty-3{left:3%;bottom:6%;width:clamp(80px,15vw,190px);height:clamp(80px,15vw,190px);transform:rotate(8deg)}.kitty-4{right:3%;bottom:4%;width:clamp(90px,18vw,220px);height:clamp(90px,18vw,220px);transform:rotate(-8deg)}.card{z-index:1;width:100%;max-width:620px;background:#fffafc;border-radius:40px;border:4px solid #ff9ec4;box-shadow:0 10px #ff9ec4,0 24px 60px #e0457b40;padding:clamp(16px,min(5vw,calc(var(--vh) * 4)),44px) clamp(16px,4vw,40px) clamp(14px,min(4vw,calc(var(--vh) * 3)),36px);position:relative}.card-dash{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:2.5px dashed #ffc3d9;border-radius:30px;pointer-events:none}.bow{position:absolute;top:-30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:0}.bow-left{width:46px;height:40px;background:#ff6fa5;border-radius:50% 20% 20% 50%;border:3px solid #fffafc}.bow-knot{width:24px;height:24px;background:#ff4f8f;border-radius:50%;border:3px solid #fffafc;margin:0 -6px;z-index:1}.bow-right{width:46px;height:40px;background:#ff6fa5;border-radius:20% 50% 50% 20%;border:3px solid #fffafc}.head{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;gap:clamp(2px,calc(var(--vh) * .6),6px)}.eyebrow{font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#e0457b;margin-top:clamp(2px,calc(var(--vh) * .6),8px)}.name{font-family:Pangolin,cursive;font-size:clamp(20px,min(6vw,calc(var(--vh) * 4.2)),36px);color:#5a2840;line-height:1.1}.score-wrap{position:relative;margin:clamp(2px,calc(var(--vh) * 1.6),18px) 0 clamp(0px,calc(var(--vh) * .5),6px)}.score{font-family:Pangolin,cursive;font-size:clamp(52px,min(26vw,calc(var(--vh) * 12)),168px);line-height:1;text-shadow:4px 4px 0 #ffd6e6,-2px -2px 0 #fff;font-variant-numeric:tabular-nums}.level{display:flex;align-items:center;gap:8px;background:#ffe3ee;border:2.5px solid #ff9ec4;border-radius:999px;padding:clamp(4px,calc(var(--vh) * .7),7px) 18px;font-weight:800;font-size:clamp(14px,3.6vw,17px);color:#c22f66}.toast{min-height:24px;margin-top:clamp(2px,var(--vh),10px);font-weight:700;font-size:15px;color:#b0607f;text-wrap:pretty;max-width:440px}.stars{--star-max: calc(var(--vh) * 19);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,min(3vw,calc(var(--vh) * 1.5)),22px);margin-top:clamp(6px,min(3vw,calc(var(--vh) * 1.5)),22px);position:relative}@media(orientation:landscape)and (max-height:520px){.stars{--star-max: calc(var(--vh) * 26);grid-template-columns:repeat(4,minmax(0,1fr))}}.star{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;cursor:pointer;position:relative;aspect-ratio:1 / 1;width:100%;max-width:min(240px,var(--star-max));justify-self:center;container-type:inline-size;transition:transform .18s cubic-bezier(.3,1.6,.5,1);filter:drop-shadow(0 6px 0 rgba(160,60,100,.18));touch-action:manipulation}@media(hover:hover){.star:hover{transform:scale(1.07) rotate(-4deg)}}.star:active{transform:scale(.88) rotate(3deg)}.star:focus-visible{outline:3px dashed #ff9ec4;outline-offset:4px;border-radius:24px}.star svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.star-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:10%;font-family:Pangolin,cursive;line-height:.98;text-align:center}.star-big{font-size:clamp(12px,14cqi,34px)}.star-line{font-size:clamp(10px,10cqi,24px)}.fx-particle{position:fixed;pointer-events:none;z-index:50;font-weight:900;text-shadow:0 1px 0 rgba(0,0,0,.08)}.fx-number{position:fixed;pointer-events:none;z-index:51;font-family:Pangolin,cursive;-webkit-text-stroke:2px #fff;text-shadow:0 4px 0 rgba(160,60,100,.2)}.history-btn{position:absolute;top:-20px;right:26px;z-index:2;width:38px;height:38px;border-radius:50%;border:3px solid #ff9ec4;background:#ffe3ee;color:#c22f66;box-shadow:0 0 0 3px #fffafc;display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .18s cubic-bezier(.3,1.6,.5,1)}@media(hover:hover){.history-btn:hover{transform:rotate(-14deg) scale(1.08)}}.history-btn:active{transform:scale(.9)}@keyframes srFade{0%{opacity:0}to{opacity:1}}@keyframes srPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes srPulse{0%,to{box-shadow:0 0 #ff4f8f80}50%{box-shadow:0 0 0 10px #ff4f8f00}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#5a284059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:srFade .15s ease-out}.dialog{position:relative;width:100%;max-width:460px;max-height:calc(var(--vh) * 100 - 32px);display:flex;flex-direction:column;background:#fffafc;border:4px solid #ff9ec4;border-radius:28px;box-shadow:0 8px #ff9ec4,0 24px 60px #e0457b4d;padding:22px 20px 20px;font-family:Nunito,sans-serif;color:#5a2840;animation:srPop .22s cubic-bezier(.3,1.4,.5,1)}.dialog-close{position:absolute;top:8px;right:10px;width:36px;height:36px;padding:0;border:none;background:none;cursor:pointer;font-size:28px;line-height:1;color:#c22f66}.dialog-title{font-family:Pangolin,cursive;font-size:28px;line-height:1.1;text-align:center;padding:0 32px}.dialog-sub{margin-top:4px;text-align:center;font-weight:700;font-size:13px;color:#b0607f}.dialog-hint{min-height:20px;margin-top:8px;text-align:center;font-weight:700;font-size:13px;color:#b0607f}.dialog-hint-error{color:#c22f66}.dialog-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:800 15px Nunito,sans-serif;padding:10px 22px;border-radius:999px;border:2.5px solid #ff9ec4;background:#ffe3ee;color:#c22f66}.btn-primary{background:#ff4f8f;border-color:#ff4f8f;color:#fff;box-shadow:0 4px #e0457b}.btn:active{transform:translateY(2px)}.btn:disabled{opacity:.6;cursor:default}.comment-field{position:relative;margin-top:14px}.comment-field textarea{display:block;width:100%;resize:none;outline:none;font:700 16px/1.35 Nunito,sans-serif;color:#5a2840;background:#fff;border:2.5px solid #ffc3d9;border-radius:18px;padding:12px 60px 12px 14px}.comment-field textarea:focus{border-color:#ff9ec4}.comment-field textarea::placeholder{color:#d9a5bb}.mic{position:absolute;right:8px;bottom:8px;width:46px;height:46px;border-radius:50%;padding:0;cursor:pointer;border:2.5px solid #ff9ec4;background:#ffe3ee;color:#c22f66;display:grid;place-items:center}.mic-on{background:#ff4f8f;border-color:#ff4f8f;color:#fff;animation:srPulse 1.2s ease-in-out infinite}.dialog-history{max-width:520px}.history{margin-top:6px;overflow-y:auto;overscroll-behavior:contain;margin-right:-10px;padding-right:10px}.history ul{list-style:none;margin:0;padding:0}.h-day{position:sticky;top:0;z-index:1;background:#fffafc;padding:10px 0 6px;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e0457b}.h-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:2px dashed #ffe3ee}.h-delta{flex:none;min-width:48px;margin-top:1px;padding:3px 8px;border-radius:999px;text-align:center;font-family:Pangolin,cursive;font-size:18px;line-height:1.1}.h-main{flex:1;min-width:0}.h-comment{font-weight:800;font-size:15px;line-height:1.3;overflow-wrap:anywhere;white-space:pre-wrap}.h-none{font-weight:700;font-size:14px;color:#c9a0b3;font-style:italic}.h-meta{margin-top:3px;font-weight:700;font-size:12px;color:#c9a0b3}
