body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--background-color-1: #ffafbd;--background-color-2: #ffc3a0;--button-color: #ff6b6b;--button-hover: #ff8787;--text-color: #ff4757;--float-duration: 15s;--float-distance: 50px;--bounce-speed: .5s;--heart-explosion-size: 1.5}.app{margin:0;min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--background-color-1),var(--background-color-2));font-family:Arial,sans-serif;overflow-x:hidden}.container{background:#ffffffe6;padding:2rem;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;max-width:600px;margin:20px;overflow:visible!important}.floating-elements{position:fixed;width:100%;height:100%;pointer-events:none;z-index:1}.heart,.flower{position:absolute;font-size:2rem;animation:float var(--float-duration) linear infinite}@keyframes float{0%{transform:translateY(100vh) translate(0)}to{transform:translateY(-100px) translate(var(--float-distance))}}.cute-btn{background:var(--button-color);border:none;padding:10px 20px;margin:10px;border-radius:20px;color:#fff;font-size:1.1rem;cursor:pointer;transition:transform .3s,background .3s}.cute-btn:hover{transform:scale(1.1);background:var(--button-hover)}.hidden{display:none}.disabled-btn{opacity:.7;cursor:not-allowed;pointer-events:none}.secret-answer{position:fixed;bottom:20px;right:20px;margin-top:0;opacity:.2;transition:opacity .3s;transform:scale(.7);z-index:2;animation:subtle-hint 2s infinite alternate;animation-delay:5s}.secret-answer .cute-btn{font-size:.8rem;padding:5px 10px}.secret-answer:hover{opacity:1;animation:none}.love-meter{position:relative;width:100%;margin:20px auto;overflow:visible;padding:10px 0}.love-meter p{font-size:1.2em;margin:15px 0;color:var(--text-color);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.slider{width:100%;height:25px;background:linear-gradient(to right,#ff6b6b,#ff8787,#ffb8b8);-webkit-appearance:none;appearance:none;outline:none;position:relative;border-radius:15px;box-shadow:0 4px 15px #ff6b6b33;transition:all .3s ease}.slider:hover{transform:scale(1.02);box-shadow:0 6px 20px #ff6b6b4d}.slider::-webkit-slider-runnable-track,.slider::-moz-range-track{width:100%;height:25px;background:linear-gradient(to right,#ff6b6b,#ff8787,#ffb8b8);border-radius:15px;border:2px solid rgba(255,255,255,.5)}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:35px;height:35px;background:linear-gradient(135deg,#ff4757,#ff6b6b);border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #ff47574d;position:relative;z-index:10;margin-top:-5px;border:3px solid white;transition:all .2s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 15px #ff475766}.slider::-moz-range-thumb{width:35px;height:35px;background:linear-gradient(135deg,#ff4757,#ff6b6b);border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #ff47574d;position:relative;z-index:10;border:3px solid white;transition:all .2s ease}.slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 15px #ff475766}#extraLove{color:#ff6b6b;font-weight:700;animation:bounce .5s infinite alternate;display:block;padding:5px 10px;border-radius:10px;background:#ff6b6b1a;text-shadow:0 2px 4px rgba(255,71,87,.2);transition:all .3s ease;margin-top:5px}#extraLove.super-love{background:#ff6b6b33;font-size:1.2em;padding:8px 15px;box-shadow:0 4px 15px #ff475733}#loveValue{font-weight:700;color:#ff4757;font-size:1.3em;transition:all .3s ease}.love-value-container{display:inline-flex;align-items:center;gap:5px}@keyframes bounce{0%{transform:scale(1)}to{transform:scale(1.2)}}.hearts-explosion{font-size:2rem;animation:explode 1s ease-out forwards;margin-top:30px}@keyframes explode{0%{transform:scale(0)}50%{transform:scale(var(--heart-explosion-size))}to{transform:scale(1)}}h1,h2{font-family:Arial,sans-serif;font-weight:700}h1{color:#ff6b6b;margin-bottom:2rem}h2{color:#ff8787}.super-love{font-size:1.5em;color:#ff4757;font-weight:700;transform:scale(1.2);display:inline-block;text-shadow:2px 2px 4px rgba(255,71,87,.3)}.celebration-text{font-size:3em;color:#ff4757;font-weight:700;margin:30px 0;animation:bounce var(--bounce-speed) infinite alternate;text-shadow:2px 2px 4px rgba(255,71,87,.3)}@keyframes subtle-hint{0%{opacity:.2}to{opacity:.3}}.music-controls{position:fixed;top:20px;right:20px;z-index:1000}.music-btn{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:20px;cursor:pointer;font-size:16px;transition:all .3s ease;box-shadow:0 2px 5px #0003}.music-btn:hover{transform:scale(1.05);background:var(--secondary-color)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--background-color-1),var(--background-color-2))}.auth-card{width:min(460px,100%);background:#fffffff5;border-radius:18px;padding:24px;box-shadow:0 20px 40px #00000026}.auth-title{margin:0;color:var(--text-color)}.auth-subtitle{margin:8px 0 16px;color:#7a3340}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.auth-mode-btn{border:1px solid #f4a0ae;background:#ffe5ea;color:#c33d58;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:600}.auth-mode-btn.active{background:var(--button-color);color:#fff;border-color:var(--button-color)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-label{font-size:.92rem;color:#8a4050;font-weight:600}.auth-input{border:1px solid #f2a7b5;border-radius:10px;padding:10px 12px;font-size:1rem}.auth-input:focus{outline:2px solid #ffb4c2;border-color:#ff879f}.auth-message{margin:2px 0;font-size:.9rem}.auth-error{color:#c2173b}.auth-success{color:#167b2d}.auth-submit{margin-top:8px;border:none;border-radius:10px;padding:12px;background:var(--button-color);color:#fff;cursor:pointer;font-size:1rem;font-weight:700}.auth-submit:disabled{opacity:.7;cursor:wait}.user-menu{position:fixed;top:12px;left:12px;z-index:1200}.user-menu-trigger{border:none;border-radius:999px;width:34px;height:34px;background:#ffffff61;color:#8f2b43;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0000001a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.user-menu-panel{margin-top:8px;padding:12px;border-radius:12px;background:#ffffffdb;box-shadow:0 14px 24px #00000029;display:flex;flex-direction:column;gap:10px;min-width:200px}.user-menu-name{color:#7f3e4e;font-size:.9rem;font-weight:600}.logout-btn{border:none;border-radius:999px;padding:8px 14px;color:#fff;background:#cf3f59;cursor:pointer;font-weight:700}
