.secret-heart{background:none;padding:0 3px;font-family:Georgia,serif;line-height:1.65;transition:transform .2s,color .2s}.secret-heart:hover{transform:rotate(14deg) scale(1.15);color:#b85e4d}.secret-heart:active{transform:rotate(14deg) scale(.92)}.bear-button{display:block;width:100%;padding:0;background:none;border-radius:2px;cursor:pointer}.bear-button:hover img{filter:brightness(1.035)}.bear-button:focus-visible{outline:3px dashed var(--coral)}.bear-bubble{position:absolute;z-index:8;bottom:39px;left:50%;transform:translateX(-50%) rotate(-3deg);background:#fffaf0;border:1px solid #dfcdb6;padding:13px 19px;border-radius:13px;box-shadow:0 5px 18px #785a4920;width:max-content;max-width:90%;font-size:12px;line-height:1.9;text-align:center;color:#8b6b55;pointer-events:none}.bear-bubble:before{content:"";position:absolute;top:-8px;left:50%;width:13px;height:13px;background:#fffaf0;border-left:1px solid #dfcdb6;border-top:1px solid #dfcdb6;transform:rotate(45deg)}.egg-entry{background:transparent;color:#9c8068;font-family:var(--serif);font-size:13px;letter-spacing:1px;padding:12px 17px;margin-top:15px;border:1px dashed #d6c9b7;border-radius:25px}.egg-entry:hover{background:#f4ecdf}.heart-feedback{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#fff8ed;color:#aa6c55;box-shadow:0 5px 20px #6f49351a;border:1px solid #e6d6c1;border-radius:25px;padding:12px 22px;font-size:12px;z-index:90;pointer-events:none;max-width:90vw;text-align:center}.heart-feedback:empty{display:none}.heart-particles{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}.heart-particle{position:absolute;left:var(--x);top:var(--y);color:var(--color);font-size:var(--size);animation:heart-drift 1.7s ease-out forwards;font-family:Georgia,serif}@keyframes heart-drift{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}15%{opacity:1}100%{transform:translate(calc(-50% + var(--drift)),calc(-50% - 160px)) rotate(var(--spin)) scale(1.2);opacity:0}}#surprise-dialog{width:min(480px,calc(100% - 32px))}.surprise-content{text-align:center;padding:12px 0 0}.surprise-symbol{font-size:53px;color:#c67d68;font-family:Georgia,serif;margin:15px 0 0}.surprise-content h2{font-size:25px;line-height:1.6}.surprise-intro,.coupon-hint{font-size:12px;color:#9a8775;line-height:1.9}.love-coupon{background:#f4e6d4;border-top:1px dashed #caad8f;border-bottom:1px dashed #caad8f;margin:25px 0 18px;padding:24px 15px 16px;position:relative}.love-coupon:before,.love-coupon:after{content:"";width:18px;height:18px;position:absolute;top:calc(50% - 9px);background:#fffbf4;border-radius:50%}.love-coupon:before{left:-9px}.love-coupon:after{right:-9px}.love-coupon>span{font-size:10px;color:#9a7f62;letter-spacing:2px}.love-coupon h3{font-family:var(--serif);font-size:27px;font-weight:500;color:#ad6954;margin:20px 0 13px}.love-coupon p{line-height:1.9;font-size:13px;color:#8d775f;margin:0}.coupon-bottom{border-top:1px dashed #d6bfa3;margin-top:23px;padding-top:14px;display:flex;justify-content:space-around;font-size:9px;color:#9b856d}.coupon-hint{font-size:10px;margin:16px 0 22px}#game-dialog{width:min(530px,calc(100% - 28px));padding:30px}#game-title{font-size:26px;margin-top:19px}.game-instructions{font-size:12px;color:#91806f;line-height:1.9}.game-players{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.game-player{padding:10px 12px;border-radius:9px;background:#f2ece1;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;min-width:0}.game-player.active{background:#f4e1d6;border-color:#c98b76}.game-player strong{overflow-wrap:anywhere;font-weight:500}.game-player span{font-size:10px;color:#927961;white-space:nowrap}.game-status{min-height:42px;margin:16px 0 6px;line-height:1.8;font-size:12px;color:#987357;overflow-wrap:anywhere}.match-board{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.match-card{height:76px;border-radius:9px;border:1px solid #dfd1bb;background:radial-gradient(#cebba2 1px,transparent 1px) 0 0/9px 9px,#efe4d3;display:grid;place-items:center;font-size:26px;color:#a87d63;transition:background .2s,transform .2s;touch-action:manipulation}.match-card:hover:not(:disabled){transform:translateY(-2px);border-color:#b4886e}.match-card.revealed{background:#fffaf0;border-color:#cdac88}.match-card.matched{background:#e4ead8;border-color:#bdc9a7;opacity:1;cursor:default;font-size:24px}.match-card:disabled{opacity:1;cursor:default}.game-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;color:#9b866f;font-size:11px}.game-footnote{font-size:10px;line-height:1.9;color:#a59682;margin:14px 0 0}.game-player.finished{background:#e7ebdd;border-color:#c5ccb8}@media(max-width:440px){#game-dialog{padding:27px 20px 20px}#game-title{font-size:23px}.match-board{grid-template-columns:repeat(3,1fr);gap:8px}.match-card{height:63px}.game-status{font-size:11px}.surprise-content h2{font-size:21px}.love-coupon h3{font-size:24px}.secret-heart{font-size:30px;margin-left:1px;padding:0}.bear-bubble{font-size:11px;bottom:35px}}@media(prefers-reduced-motion:reduce){.heart-particle{display:none}.secret-heart:hover,.secret-heart:active,.match-card:hover:not(:disabled){transform:none}}
