@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&display=swap";body{margin:0}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh;width:100%;margin:0;padding:0}body{font-family:Nunito,sans-serif;background:linear-gradient(135deg,#a8edea,#fed6e3);background-attachment:fixed;background-size:cover;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;color:#333;transition:background 1s ease}body.dark-mode{background:linear-gradient(135deg,#0f172a,#312e81);background-attachment:fixed;background-size:cover;background-repeat:no-repeat;color:#e2e8f0}#root{width:100%;min-height:100vh;max-width:none;padding:0;margin:0;border:none;display:flex;justify-content:center;align-items:center}.container{width:100%;padding:20px;display:flex;justify-content:center}.card{background:#fff;border-radius:24px;padding:40px 30px;width:100%;max-width:450px;box-shadow:0 15px 35px #0000001a;text-align:center;transition:background 1s ease,box-shadow 1s ease;position:relative;z-index:10}body.dark-mode .card{background:#1e293b;box-shadow:0 15px 35px #0009}.app-logo{width:140px;height:auto;margin:0 auto 15px;display:block;animation:float 4s ease-in-out infinite;filter:drop-shadow(0px 10px 15px rgba(255,117,140,.2))}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}h1{color:#ff758c;font-size:2.5rem;margin-bottom:10px;transition:color 1s ease}body.dark-mode h1{color:#f472b6}.emoji-title{display:inline-block;transition:transform .2s}.emoji-title:active{transform:scale(.8)}.subtitle{font-size:1.2rem;color:#666;margin-bottom:30px;transition:color 1s ease}body.dark-mode .subtitle{color:#94a3b8}.question{font-weight:700;font-size:1.3rem;margin-bottom:20px;color:#444;transition:color 1s ease}body.dark-mode .question{color:#cbd5e1}.extras-title{margin-top:30px;font-size:1.1rem}.buttons-group{display:flex;flex-direction:column;gap:12px}.extras-group{margin-bottom:30px}.btn{border:none;border-radius:16px;padding:16px 20px;font-size:1rem;font-weight:900;cursor:pointer;transition:all .2s;color:#fff;letter-spacing:.5px;opacity:.85}.btn:hover{transform:translateY(-2px);opacity:1}.btn.selected{opacity:1;box-shadow:0 0 0 4px #333;transform:scale(.98)}.btn-high{background:#6a82fb}.btn-medium{background:#fc4a1a}.btn-low{background:#4abdac}.btn-extra{background:#8b5cf6}.btn-generate{width:100%;background:#ff758c;color:#fff;border:none;padding:20px;border-radius:16px;font-weight:900;font-size:1.1rem;cursor:pointer;transition:background .2s,transform .2s;box-shadow:0 8px 20px #ff758c4d}.btn-generate:hover{background:#ff526c;transform:translateY(-3px)}.confirmation-area{background:#fff0f3;padding:25px 20px;border-radius:20px;animation:fadeIn .4s ease}.highlight-text{font-size:1.2rem;margin-bottom:20px;color:#555}.highlight-text.recovered{color:#d97706}.highlight-text strong{color:#ff758c;font-size:1.8rem;display:block;margin-top:10px}.action-buttons{display:flex;gap:10px;justify-content:center}.action-buttons-column{display:flex;flex-direction:column;gap:10px;margin-top:20px}.btn-confirm{background:#ff758c;color:#fff;border:none;padding:15px 20px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;flex:1;transition:background .2s}.btn-confirm:hover{background:#ff526c}.btn-cancel{background:#cbd5e1;color:#333;border:none;padding:15px 20px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;flex:1;transition:background .2s}.btn-cancel:hover{background:#94a3b8;color:#fff}.btn-cancel-dark{background:#334155;color:#e2e8f0;border:none;padding:15px 20px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s}.btn-cancel-dark:hover{background:#475569}.btn-rain{background:#3b82f6;color:#fff;border:none;padding:15px 20px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s}.btn-rain:hover{background:#2563eb}.btn-rain.active{background:#0ea5e9;box-shadow:inset 0 3px 6px #0003}.active-alarm-area{background:#f0fdf4;padding:35px 20px;border-radius:20px;animation:fadeIn .4s ease;transition:background 1s ease,border-color 1s ease}body.dark-mode .active-alarm-area{background:#0f172a;border:2px dashed #4f46e5}.alarm-status{margin-bottom:25px}.pulse-icon{font-size:4rem;display:block;margin-bottom:15px;animation:pulse 2s infinite}.active-alarm-area p{font-size:1.2rem;color:#333;transition:color 1s ease}body.dark-mode .active-alarm-area p{color:#e2e8f0}.active-alarm-area strong{color:#4abdac;font-size:1.5rem;transition:color 1s ease}body.dark-mode .active-alarm-area strong{color:#818cf8}.cute-message{font-size:1.1rem;color:#ff758c;font-weight:700;margin-top:15px;margin-bottom:15px;font-style:italic;animation:fadeIn 1s ease}body.dark-mode .cute-message{color:#f472b6}.alarm-label{margin-top:15px;font-size:.9rem;color:#666;font-weight:700}body.dark-mode .alarm-label{color:#94a3b8}.hearts-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;overflow:hidden}.heart{position:absolute;top:-10%;font-size:2.5rem;animation:fall linear forwards;pointer-events:auto;cursor:crosshair;transition:transform .1s}.heart:hover{transform:scale(1.3)}.heart:active{transform:scale(.8)}.love-message-popup{position:fixed;top:15%;left:50%;transform:translate(-50%);background:#fff;padding:15px 30px;border-radius:30px;box-shadow:0 10px 30px #ff758c66;z-index:10000;font-weight:900;font-size:1.2rem;color:#ff758c;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}.extra-badge{font-size:.75rem;font-weight:700;background:#ffffff40;padding:2px 7px;border-radius:20px;margin-left:6px;letter-spacing:0}.preview-time{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff0f3;border-radius:14px;padding:12px 20px;margin-bottom:16px;animation:fadeIn .3s ease}body.dark-mode .preview-time{background:#1e293b}.preview-label{font-size:.95rem;color:#666;font-weight:700}body.dark-mode .preview-label{color:#94a3b8}.preview-value{font-size:1.8rem;font-weight:900;color:#ff758c}body.dark-mode .preview-value{color:#f472b6}.time-left{margin:10px 0 5px;font-size:1rem;color:#555;font-weight:700}body.dark-mode .time-left{color:#94a3b8}.time-left-value{font-size:1.4rem;font-weight:900;color:#6a82fb}body.dark-mode .time-left-value{color:#818cf8}body.dark-mode .confirmation-area{background:#1e293b}body.dark-mode .highlight-text{color:#cbd5e1}body.dark-mode .modal-content{background:#1e293b}body.dark-mode .modal-content p{color:#e2e8f0}.modal-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal-btn-secondary{background:#cbd5e1;color:#333;border:none;padding:12px 20px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s}.modal-btn-secondary:hover{background:#94a3b8;color:#fff}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:99999;animation:fadeIn .2s ease}.modal-content{background:#fff;padding:30px;border-radius:20px;max-width:350px;text-align:center;box-shadow:0 20px 40px #0003;animation:popCenter .3s cubic-bezier(.175,.885,.32,1.275)}.modal-content p{font-size:1.2rem;color:#333;margin-bottom:25px;font-weight:700}.modal-btn{background:#ff758c;color:#fff;border:none;padding:12px 30px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s,background .2s}.modal-btn:hover{background:#ff526c;transform:translateY(-2px)}@keyframes fall{to{transform:translateY(110vh) rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes popCenter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.stars-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1;overflow:hidden}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle ease-in-out infinite;opacity:.4}@keyframes twinkle{0%,to{opacity:.15;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}.shooting-star-bg{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:0 0 6px 2px #fff9;animation:shootBg linear infinite;opacity:0}@keyframes shootBg{0%{transform:translate(0);opacity:0}5%{opacity:1}80%{opacity:.6}to{transform:translate(400px,200px);opacity:0}}.shooting-star-easter{position:fixed;top:20%;left:-2%;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 12px 4px #ffffffe6,0 0 40px 8px #c8c8ff80;animation:shootEaster 1.8s ease-out forwards;z-index:9998;pointer-events:none}@keyframes shootEaster{0%{transform:translate(0) scaleX(1);opacity:1}to{transform:translate(105vw,45vh) scaleX(4);opacity:0}}.streak-bar{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fff0f3,#f0f4ff);border-radius:14px;padding:10px 14px;margin-bottom:14px;cursor:pointer;font-size:.85rem;font-weight:700;color:#555;transition:background .2s,transform .15s;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.streak-bar:hover{transform:translateY(-1px)}.streak-bar:active{transform:scale(.98)}body.dark-mode .streak-bar{background:linear-gradient(135deg,#1e293b,#1a1f3a);color:#94a3b8}.streak-flame{font-size:1rem}.streak-count{color:#ff758c;font-size:.95rem}body.dark-mode .streak-count{color:#f472b6}.streak-sep{color:#ccc}body.dark-mode .streak-sep{color:#475569}.streak-title-text{color:#6a82fb}body.dark-mode .streak-title-text{color:#818cf8}.streak-week{color:#888}body.dark-mode .streak-week{color:#64748b}.streak-caret{margin-left:auto;color:#bbb;font-size:.7rem}.history-panel{background:#f8f9ff;border-radius:16px;padding:16px;margin-bottom:16px;animation:fadeIn .3s ease}body.dark-mode .history-panel{background:#131c2e}.history-stats{display:flex;justify-content:space-around;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eee}body.dark-mode .history-stats{border-bottom-color:#1e293b}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-number{font-size:1.3rem;font-weight:900;color:#ff758c}body.dark-mode .stat-number{color:#f472b6}.stat-label{font-size:.7rem;color:#999;font-weight:700;text-transform:uppercase;letter-spacing:.5px}body.dark-mode .stat-label{color:#64748b}.history-empty{text-align:center;color:#999;font-size:.9rem;padding:8px 0}body.dark-mode .history-empty{color:#64748b}.history-list{display:flex;flex-direction:column;gap:6px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fff;border-radius:10px;font-size:.9rem}body.dark-mode .history-item{background:#1e293b}.history-date{color:#555;font-weight:700}body.dark-mode .history-date{color:#94a3b8}.history-hours{color:#6a82fb;font-weight:900}body.dark-mode .history-hours{color:#818cf8}.selection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.btn-custom-toggle{background:#f1f0ff;color:#6a82fb;border:none;padding:7px 14px;border-radius:20px;font-size:.8rem;font-weight:900;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-custom-toggle:hover{background:#e0deff}.btn-custom-toggle.active{background:#6a82fb;color:#fff}body.dark-mode .btn-custom-toggle{background:#1e293b;color:#818cf8}body.dark-mode .btn-custom-toggle.active{background:#6a82fb;color:#fff}.custom-duration-area{margin:16px 0;animation:fadeIn .3s ease}.custom-duration-label{font-size:1rem;font-weight:700;color:#666;margin-bottom:14px;text-align:center}body.dark-mode .custom-duration-label{color:#94a3b8}.custom-inputs{display:flex;gap:16px;justify-content:center}.custom-input-wrap{display:flex;align-items:center;gap:6px}.custom-input{width:70px;padding:14px 10px;border:2px solid #e2e8f0;border-radius:12px;font-size:1.6rem;font-weight:900;text-align:center;font-family:Nunito,sans-serif;color:#333;background:#fff;transition:border-color .2s;-moz-appearance:textfield}.custom-input::-webkit-inner-spin-button,.custom-input::-webkit-outer-spin-button{-webkit-appearance:none}.custom-input:focus{outline:none;border-color:#6a82fb}body.dark-mode .custom-input{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .custom-input:focus{border-color:#818cf8}.custom-unit{font-size:1.1rem;font-weight:700;color:#888}body.dark-mode .custom-unit{color:#64748b}.native-alarm-hint{background:#f0f9ff;border-radius:14px;padding:14px 16px;margin-bottom:16px;text-align:center}body.dark-mode .native-alarm-hint{background:#0c1a2e}.hint-text{font-size:.85rem;color:#666;font-weight:700;margin-bottom:10px}body.dark-mode .hint-text{color:#64748b}.btn-native-alarm{background:#0ea5e9;color:#fff;border:none;padding:10px 20px;border-radius:12px;font-weight:900;font-size:.9rem;cursor:pointer;transition:background .2s,transform .2s}.btn-native-alarm:hover{background:#0284c7;transform:translateY(-2px)}.volume-control{display:flex;align-items:center;gap:10px;background:#ffffff14;border-radius:12px;padding:10px 14px;animation:fadeIn .3s ease}.vol-icon{font-size:1.1rem}.volume-slider{flex:1;-webkit-appearance:none;height:5px;border-radius:5px;background:linear-gradient(to right,#818cf8,#e2e8f0);outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#818cf8;cursor:pointer;box-shadow:0 0 6px #818cf899}.volume-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#818cf8;cursor:pointer;border:none}@media (max-width: 480px){.card{padding:30px 20px}h1{font-size:2rem}.action-buttons{flex-direction:column}}
