body{margin:0;padding:0;background:#ffe;font-family:Dancing Script,cursive;font-size:18px;color:#231f20;overflow:auto}a{color:#000;font-size:14px}#main{width:100%}#wrap{position:relative;margin:10px auto 0;width:1100px;height:760px}#text{width:500px;height:auto;left:55px;top:80px;position:absolute}#code{display:none;font-size:22px}#clock-box{position:absolute;left:55px;top:650px;font-size:28px;display:none;z-index:100}#clock-box a{font-size:28px;text-decoration:none}#clock{margin-left:48px}#clock .digit{font-size:64px}#canvas{margin:0 auto;width:1100px;height:760px}#error{margin:60px auto 0;text-align:center;display:none}.hand{cursor:pointer}.say{margin-left:5px}.space{margin-right:150px}.heart-anim{color:red;animation:heartbeat 1s infinite;display:inline-block;margin:0 5px}@keyframes heartbeat{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.3)}60%{transform:scale(1)}to{transform:scale(1)}}#heart-btn{position:fixed;bottom:20px;left:20px;width:60px;height:60px;background-color:#ff4081;border-radius:50%;cursor:pointer;box-shadow:0 4px 6px #0000004d;z-index:999999;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:24px;color:#fff;user-select:none;transition:transform .2s,box-shadow .2s;pointer-events:auto}#heart-btn .heart-icon{line-height:1;margin-bottom:-5px}#click-counter{font-size:14px;font-family:Arial,sans-serif;font-weight:700;line-height:1}#heart-btn:hover{transform:scale(1.1);box-shadow:0 6px 8px #0006}#heart-btn:active{transform:scale(.95)}.falling-heart{position:fixed;top:-50px;font-size:24px;z-index:9999;user-select:none;pointer-events:none;animation-name:fall;animation-timing-function:linear}.falling-img{position:fixed;top:-50px;width:50px;height:auto;z-index:9999;user-select:none;pointer-events:none;animation-name:fall-rotate;animation-timing-function:linear}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes fall-rotate{0%{transform:translateY(-50px) rotate(0)}to{transform:translateY(110vh) rotate(360deg)}}#game-box{position:absolute;left:55px;top:850px;font-size:24px;display:none;z-index:1000;font-family:Dancing Script,cursive;color:#231f20;background:#ffe;padding:10px;border-radius:10px;max-width:900px;line-height:1.5}#game-content{display:inline;white-space:pre-wrap}.game-cursor{text-decoration:underline;font-weight:700;color:red;animation:blink 1s infinite}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.game-typed{color:#d40047}.game-instruction{display:inline;font-size:24px;font-weight:700;color:#555;margin-right:10px;margin-bottom:0}.shake{animation:shake .3s}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}#valentine-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10001;background:rgba(255,255,255,.9);padding:40px;border-radius:20px;box-shadow:0 10px 25px #0003;border:2px solid #ff4081}.valentine-text{font-family:Dancing Script,cursive;font-size:48px;color:#d40047;margin-bottom:30px}.valentine-buttons{display:flex;justify-content:center;gap:30px}#btn-yes,#btn-no{font-family:Dancing Script,cursive;font-size:24px;padding:10px 40px;border:none;border-radius:50px;cursor:pointer;transition:transform .2s;box-shadow:0 4px 6px #0000001a}#btn-yes{background-color:#ff4081;color:#fff}#btn-yes:hover{background-color:#e91e63;transform:scale(1.1)}#btn-no{background-color:#e0e0e0;color:#555;position:relative}#btn-no:hover{background-color:#d0d0d0}.love-sprite{position:fixed;width:60px;height:60px;z-index:10000;cursor:pointer;user-select:none;transition:top .5s ease-in-out,left .5s ease-in-out}.sprite-image{width:100%;height:100%;object-fit:contain;image-rendering:auto}.love-sprite:hover{transform:scale(1.1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-bubble{position:fixed;bottom:80px;right:20px;width:320px;max-width:90vw;height:450px;background:rgba(255,255,255,.98);border-radius:20px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;z-index:10001;overflow:hidden;border:2px solid #ff4081;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:popIn .3s ease-out}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-header{background:linear-gradient(135deg,#ff4081,#ff80ab);color:#fff;padding:12px 15px;font-weight:700;display:flex;justify-content:space-between;align-items:center;font-size:16px;box-shadow:0 2px 5px #0000001a}.close-chat{cursor:pointer;font-size:18px;opacity:.8;transition:opacity .2s}.close-chat:hover{opacity:1}.chat-messages{flex:1;padding:15px;overflow-y:auto;display:flex;flex-direction:column;background:#fff0f5;gap:10px}.message{padding:10px 14px;border-radius:18px;max-width:85%;word-wrap:break-word;font-size:15px;line-height:1.4;position:relative}.message.user{align-self:flex-end;background:#ff4081;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 5px #ff408133}.message.bot{align-self:flex-start;background:white;color:#333;border-bottom-left-radius:4px;box-shadow:0 2px 5px #0000000d;border:1px solid #ffe6ee}.chat-input-area{padding:12px;border-top:1px solid #eee;display:flex;background:white;align-items:center}.chat-input{flex:1;border:1px solid #ffc1e3;border-radius:25px;padding:10px 15px;outline:none;font-size:14px;transition:border-color .3s}.chat-input:focus{border-color:#ff4081}.chat-send{background:#ff4081;border:none;color:#fff;width:35px;height:35px;border-radius:50%;margin-left:10px;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:16px;transition:background .2s}.chat-send:hover{background:#e91e63}.typing{font-style:italic;color:#aaa;background:transparent!important;box-shadow:none!important;border:none!important;padding:5px!important}.STYLE1{color:#666}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.marquee-container{width:100%;overflow:hidden;white-space:nowrap;box-sizing:border-box;position:relative}.marquee-text{display:inline-block;padding-left:0}.scrolling{padding-left:100%;animation:marquee 15s linear infinite}
