.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;pointer-events:none}.toast{background:#fffffff2;border-radius:12px;padding:16px 24px;margin-bottom:12px;box-shadow:0 8px 32px #0000001f;border:1px solid #f3e8ff;min-width:320px;max-width:500px;display:flex;align-items:center;gap:12px;pointer-events:auto;animation:toastSlideIn .3s ease-out;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.toast-exit{animation:toastSlideOut .3s ease-in forwards}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.toast-content{flex:1;min-width:0}.toast-message{font-size:16px;color:#000;margin:0;line-height:1.4;word-wrap:break-word}.toast-close{flex-shrink:0;background:none;color:#666;padding:4px;border-radius:4px;transition:color .2s;cursor:pointer}.toast-close:hover{color:#000}.toast-success{border-left:4px solid #00aa00}.toast-success .toast-icon{color:#0a0}.toast-error{border-left:4px solid #ff0000}.toast-error .toast-icon{color:red}.toast-info{border-left:4px solid #0066cc}.toast-info .toast-icon{color:#06c}.toast-warning{border-left:4px solid #ff9900}.toast-warning .toast-icon{color:#f90}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#0000001a;animation:toastProgress 5s linear}.toast-success .toast-progress{background:#0a0}.toast-error .toast-progress{background:red}.toast-info .toast-progress{background:#06c}.toast-warning .toast-progress{background:#f90}@keyframes toastSlideIn{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100px);opacity:0}}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media (max-width: 480px){.toast-container{left:16px;right:16px;transform:none}.toast{min-width:auto;max-width:none;width:100%}.toast-message{font-size:14px}}.login-container{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#fdf2f8,#fce7f3,#fbcfe8)}.login-content{flex:1;padding:60px 24px 0;max-width:400px;margin:0 auto;width:100%}.login-header{text-align:center;margin-bottom:48px}.login-logo{margin-bottom:24px}.logo-image{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.login-title{font-size:28px;font-weight:700;color:#000;margin-bottom:8px}.login-subtitle{font-size:18px;color:#666}.login-form{margin-bottom:32px}.input-container{margin-bottom:20px}.input-label{display:block;font-size:18px;color:#000;margin-bottom:8px;font-weight:500}.input-field{width:100%;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:16px;font-size:18px;color:#000}.input-field:focus{border-color:#000}.textarea-field{resize:vertical;min-height:80px;font-family:inherit}.login-button{width:100%;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border-radius:8px;padding:16px;font-size:18px;font-weight:600;margin-top:8px;transition:background-color .2s}.login-button:hover{background:linear-gradient(135deg,#db2777,#be185d)}.login-button-disabled{background:#f3e8ff;color:#a855f7;cursor:not-allowed}.form-switch{text-align:center;margin:20px 0;padding-top:20px;border-top:1px solid #e0e0e0}.switch-button{background:none;color:#666;font-size:16px;text-decoration:underline;transition:color .2s}.switch-button:hover{color:#000}.demo-section{border-top:1px solid #e0e0e0;padding-top:24px}.demo-title{font-size:18px;color:#666;margin-bottom:12px;text-align:center}.demo-button{width:100%;background:#fffc;border:1px solid #f3e8ff;border-radius:8px;padding:12px;font-size:18px;color:#000;margin-bottom:8px;transition:background-color .2s}.demo-button:hover{background:#ffffffe6;border-color:#e879f9}.login-footer{padding:24px;text-align:center}.user-avatar-photo{position:relative;cursor:pointer;display:inline-block}.user-avatar{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid #e0e0e0;transition:all .3s ease;display:flex;justify-content:center;align-items:center;background-color:#f5f5f5}.user-avatar img{object-fit:cover;width:100%;height:100%;object-position:center}.user-card{background:#fffc;border:1px solid #f3e8ff;border-radius:12px;padding:16px;margin-bottom:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-card-header{display:flex;align-items:center;margin-bottom:12px}.user-info{flex:1;margin-left:12px}.user-avatar-clickable{cursor:pointer;transition:transform .2s}.user-avatar-clickable:hover{transform:scale(1.05)}.user-name{font-size:20px;font-weight:600;color:#000;margin:0}.days-count{font-size:18px;color:#666;margin:2px 0 0}.like-button{display:flex;flex-direction:column;align-items:center;padding:8px;background:none;color:#000;transition:color .2s}.like-button:hover,.like-button-liked,.like-button-liked .like-count{color:red}.like-button-disabled{color:#ccc;cursor:not-allowed}.like-button-disabled:hover{color:#ccc}.like-count{font-size:16px;font-weight:500;margin-top:4px}.theme-container{margin-bottom:16px}.theme{font-size:18px;color:#000;line-height:1.4;margin:0}.stamp-status-container{margin-top:12px}.stamp-status{display:flex;align-items:center;padding:8px 12px;background:#fbcfe84d;border-radius:8px}.stamp-indicator{width:16px;height:16px;position:relative;margin-right:8px;display:flex;align-items:center;justify-content:center;top:-3px}.stamp-indicator:before{content:"🌸";font-size:14px;opacity:.3;filter:grayscale(100%)}.stamp-indicator-active:before{opacity:1;filter:grayscale(0%)}.stamp-status-text{font-size:16px;color:#666;overflow:hidden}.pr-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease-in-out}.pr-info-modal-overlay.visible{opacity:1}.pr-info-modal-content{background:#fff;border-radius:16px;padding:0;max-width:500px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px #0006;transform:scale(.9) translateY(20px);transition:transform .3s ease-out}.pr-info-modal-overlay.visible .pr-info-modal-content{transform:scale(1) translateY(0)}.pr-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#fdf2f8,#fce7f3)}.pr-modal-body{padding:24px}.pr-user-info{display:flex;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}.pr-user-details{margin-left:16px}.pr-user-name{font-size:20px;font-weight:600;color:#000;margin:0 0 4px}.pr-user-theme{font-size:14px;color:#666;margin:0}.pr-info-section{margin-bottom:20px}.pr-info-section:last-child{margin-bottom:0}.pr-info-label{font-size:16px;font-weight:600;color:#000;margin-bottom:8px;display:flex;align-items:center;gap:6px}.pr-info-content{background:#f8f9fa;border-radius:8px;padding:16px;border:1px solid #e9ecef}.pr-info-text{font-size:16px;color:#333;line-height:1.5;margin:0;white-space:pre-wrap;word-wrap:break-word}.pr-info-empty{font-size:14px;color:#999;font-style:italic;margin:0}@media (max-width: 480px){.pr-info-modal-content{max-width:350px;width:95%}.pr-modal-header,.pr-modal-body{padding:16px 20px}.pr-modal-header h3{font-size:16px}.pr-user-name{font-size:18px}.pr-info-label,.pr-info-text{font-size:14px}}.navigation{position:fixed;bottom:0;left:0;right:0;display:flex;background:#ffffffe6;border-top:1px solid #f3e8ff;padding:8px;height:70px;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;color:#999;font-size:14px;font-weight:500;gap:4px;transition:color .2s}.nav-button:hover{color:#666}.nav-button-active{color:#ec4899}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#fdf2f8,#fce7f3,#fbcfe8);padding-bottom:80px}.dashboard-header{display:flex;justify-content:center;align-items:center;padding:16px;background:#ffffffe6;border-bottom:1px solid #f3e8ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.dashboard-title{font-size:20px;font-weight:700;color:#000}.logout-button{padding:8px;background:none;color:#666;transition:color .2s}.logout-button:hover{color:#000}.dashboard-content{padding-bottom:20px}.dashboard-subtitle{font-size:20px;color:#666;text-align:center;margin:20px 0;font-weight:500}.user-cards{padding:0 16px;max-width:768px;margin:0 auto}.dashboard-footer{text-align:center;padding:20px}.profile-photo-upload{position:relative;cursor:pointer;display:inline-block}.photo-container{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid #e0e0e0;transition:all .3s ease}.photo-container:hover{border-color:#000;transform:scale(1.05)}.profile-photo{width:100%;height:100%;object-fit:cover;object-position:center}.default-avatar{width:100%;height:100%;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#666}.upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s ease;font-size:12px;gap:4px}.photo-container:hover .upload-overlay{opacity:1}.upload-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.upload-modal-content{background:#fff;border-radius:16px;padding:0;max-width:400px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#000}.close-button{background:none;color:#666;padding:4px;border-radius:4px;transition:color .2s}.close-button:hover{color:#000}.modal-body{padding:24px;text-align:center}.preview-container{margin-bottom:20px}.preview-image{max-width:100%;max-height:200px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.file-info{margin-top:16px}.file-name{font-size:16px;font-weight:500;color:#000;margin:0 0 4px;word-break:break-all}.file-size{font-size:14px;color:#666;margin:0}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.cancel-button,.upload-button{flex:1;padding:12px 16px;border-radius:8px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.cancel-button{background:#f5f5f5;color:#666;border:1px solid #e0e0e0}.cancel-button:hover:not(:disabled){background:#e0e0e0;color:#000}.upload-button{background:#000;color:#fff;border:none}.upload-button:hover:not(:disabled){background:#333}.upload-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.upload-modal-content{max-width:350px;width:95%}.modal-header,.modal-body,.modal-footer{padding:16px 20px}.modal-header h3{font-size:16px}.preview-image{max-height:150px}.cancel-button,.upload-button{font-size:14px;padding:10px 12px}}.stamp-calendar{background:transparent}.calendar-scroll{overflow-x:auto}.calendar-grid{display:flex;flex-direction:column;min-width:max-content}.calendar-week{display:flex;margin-bottom:4px}.calendar-day{width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-right:4px;border:1px solid #f3e8ff;border-radius:8px;background:#fff9;position:relative;cursor:pointer;transition:border-color .2s;padding:2px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.calendar-day:hover:not(:disabled){border-color:#ec4899;background:#fffc}.calendar-day-compact{width:28px;height:28px;margin-right:2px;padding:1px}.calendar-day-today{border-color:#ec4899;border-width:2px;background:#ec48991a}.calendar-day-disabled{background:#fbcfe84d;cursor:not-allowed}.calendar-day-disabled .day-number{color:#999}.calendar-day-disabled .day-date{color:#ccc}.day-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.day-number{font-size:14px;color:#000;font-weight:500;line-height:1}.day-number-compact{font-size:10px}.calendar-day-today .day-number{font-weight:700}.day-date{font-size:10px;color:#666;line-height:1}.day-date-compact{font-size:8px}.calendar-day-today .day-date{color:#ec4899;font-weight:500}.calendar-day-stamped{position:relative}.calendar-day-stamped:before{content:"🌸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.3;z-index:0;pointer-events:none}.calendar-day-compact.calendar-day-stamped:before{font-size:16px}.day-content{position:relative;z-index:1}.flower-animation-container{display:flex;justify-content:center;align-items:center;background:#fff;border-radius:12px;padding:20px 20px 16px;margin:16px 0;border:1px solid rgba(230,230,230,.5);position:relative;overflow:hidden}.growth-image-container{width:100%;max-width:400px;position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:4}.growth-image{max-width:100%;height:auto;object-fit:contain;border-radius:8px}.no-stamps-message{font-size:16px;color:#999;text-align:center;padding:30px 20px}.progress-display{width:100%;text-align:center}.progress-text{font-size:14px;color:#666;margin-bottom:8px;font-weight:500}.progress-bar{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ec4899,#db2777);border-radius:3px;transition:width .5s ease-out}.bird{position:absolute;font-size:16px;opacity:.7;z-index:5;animation:fly linear infinite}.bird-1{top:15%;animation-name:fly-path-1;animation-duration:15s;animation-delay:0s}.bird-2{top:25%;animation-name:fly-path-2;animation-duration:18s;animation-delay:5s}.bird-3{top:35%;animation-name:fly-path-3;animation-duration:20s;animation-delay:10s}@keyframes fly-path-1{0%{left:-50px;transform:translateY(0) scaleX(1)}50%{transform:translateY(-10px) scaleX(1)}to{left:calc(100% + 50px);transform:translateY(0) scaleX(1)}}@keyframes fly-path-2{0%{right:-50px;transform:translateY(0) scaleX(-1)}50%{transform:translateY(-15px) scaleX(-1)}to{right:calc(100% + 50px);transform:translateY(0) scaleX(-1)}}@keyframes fly-path-3{0%{left:-50px;transform:translateY(0) scaleX(1)}50%{transform:translateY(-20px) scaleX(1)}to{left:calc(100% + 50px);transform:translateY(0) scaleX(1)}}.sakura-petal{position:absolute;font-size:14px;opacity:.8;z-index:5;animation:fall-and-sway ease-in-out infinite}.sakura-1{left:10%;animation-duration:8s;animation-delay:0s}.sakura-2{left:25%;animation-duration:10s;animation-delay:2s}.sakura-3{left:40%;animation-duration:9s;animation-delay:4s}.sakura-4{left:60%;animation-duration:11s;animation-delay:1s}.sakura-5{left:75%;animation-duration:9.5s;animation-delay:3s}.sakura-6{left:90%;animation-duration:10.5s;animation-delay:5s}@keyframes fall-and-sway{0%{top:-50px;transform:translate(0) rotate(0);opacity:0}10%{opacity:.8}25%{transform:translate(15px) rotate(90deg)}50%{transform:translate(-15px) rotate(180deg)}75%{transform:translate(10px) rotate(270deg)}90%{opacity:.8}to{top:calc(100% + 50px);transform:translate(0) rotate(360deg);opacity:0}}@media (max-width: 480px){.flower-animation-container{padding:16px 16px 12px}.growth-image-container{max-width:100%;gap:10px}.progress-text{font-size:12px}.no-stamps-message{font-size:14px;padding:20px 15px}.bird{font-size:12px}.sakura-petal{font-size:10px}}.flower-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;transition:opacity .5s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.flower-popup-overlay.visible{opacity:1}.flower-popup-content{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:40px 30px;text-align:center;box-shadow:0 25px 50px #0006,0 0 0 1px #ffffff1a;max-width:350px;width:90%;transform:scale(.8) translateY(20px);animation:popupAppear .6s ease-out forwards;cursor:default;position:relative;border:2px solid rgba(255,255,255,.2)}.flower-popup-overlay.visible .flower-popup-content{animation:popupAppear .6s ease-out forwards}.flower-popup-overlay:not(.visible) .flower-popup-content{animation:popupDisappear .5s ease-in forwards}.popup-message{margin-bottom:30px}.popup-title{font-size:24px;font-weight:700;color:#333;margin:0 0 8px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.popup-subtitle{font-size:16px;color:#666;margin:0}.popup-flower-container{position:relative;display:flex;justify-content:center;align-items:center;height:200px;margin:30px 0}.water-animation{max-width:200px;max-height:200px;width:auto;height:auto;object-fit:contain;animation:waterAppear .8s ease-out}@keyframes waterAppear{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.popup-flower{position:relative;animation:flowerBloomPopup 2s ease-out}.popup-flower.rose{width:80px;height:80px}.popup-flower.ranunculus{width:70px;height:70px}.popup-flower.small-flower{width:60px;height:60px}.popup-flower .rose-flower{width:100%;height:100%;position:relative}.popup-flower .rose-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--dark-color);border-radius:50%;z-index:3}.popup-flower .rose-petals{position:relative;width:100%;height:100%}.popup-flower .rose-petal{position:absolute;top:50%;left:50%;width:24px;height:32px;background:radial-gradient(ellipse at center,var(--primary-color),var(--secondary-color));border-radius:50%/60% 60% 40% 40%;transform-origin:center bottom;box-shadow:inset 0 2px 6px #0000001a}.popup-flower .rose-petal.petal-0{transform:translate(-50%,-50%) rotate(0) translateY(-16px)}.popup-flower .rose-petal.petal-1{transform:translate(-50%,-50%) rotate(45deg) translateY(-16px)}.popup-flower .rose-petal.petal-2{transform:translate(-50%,-50%) rotate(90deg) translateY(-16px)}.popup-flower .rose-petal.petal-3{transform:translate(-50%,-50%) rotate(135deg) translateY(-16px)}.popup-flower .rose-petal.petal-4{transform:translate(-50%,-50%) rotate(180deg) translateY(-16px)}.popup-flower .rose-petal.petal-5{transform:translate(-50%,-50%) rotate(225deg) translateY(-16px)}.popup-flower .rose-petal.petal-6{transform:translate(-50%,-50%) rotate(270deg) translateY(-16px)}.popup-flower .rose-petal.petal-7{transform:translate(-50%,-50%) rotate(315deg) translateY(-16px)}.popup-flower .ranunculus-flower{width:100%;height:100%;position:relative}.popup-flower .ranunculus-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:gold;border-radius:50%;z-index:4}.popup-flower .ranunculus-layer{position:absolute;width:100%;height:100%}.popup-flower .ranunculus-layer.layer-0 .ranunculus-petal{width:16px;height:20px;background:var(--primary-color)}.popup-flower .ranunculus-layer.layer-1 .ranunculus-petal{width:20px;height:24px;background:var(--secondary-color)}.popup-flower .ranunculus-layer.layer-2 .ranunculus-petal{width:24px;height:28px;background:var(--dark-color)}.popup-flower .ranunculus-petal{position:absolute;top:50%;left:50%;border-radius:50%/70% 70% 30% 30%;transform-origin:center bottom;box-shadow:inset 0 2px 4px #0000001a}.popup-flower .small-flower{width:100%;height:100%;position:relative}.popup-flower .small-flower-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:gold;border-radius:50%;z-index:3}.popup-flower .small-petal{position:absolute;top:50%;left:50%;width:18px;height:24px;background:var(--primary-color);border-radius:50%/60% 60% 40% 40%;transform-origin:center bottom;box-shadow:inset 0 2px 3px #0000001a}.popup-flower .small-petal.petal-0{transform:translate(-50%,-50%) rotate(0) translateY(-12px)}.popup-flower .small-petal.petal-1{transform:translate(-50%,-50%) rotate(72deg) translateY(-12px)}.popup-flower .small-petal.petal-2{transform:translate(-50%,-50%) rotate(144deg) translateY(-12px)}.popup-flower .small-petal.petal-3{transform:translate(-50%,-50%) rotate(216deg) translateY(-12px)}.popup-flower .small-petal.petal-4{transform:translate(-50%,-50%) rotate(288deg) translateY(-12px)}.sparkle-effects{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.sparkle{position:absolute;font-size:16px;animation:sparkleFloat 3s ease-out infinite;opacity:0}.sparkle-0{top:10%;left:20%;animation-delay:.2s}.sparkle-1{top:20%;right:15%;animation-delay:.4s}.sparkle-2{top:60%;left:10%;animation-delay:.6s}.sparkle-3{top:70%;right:20%;animation-delay:.8s}.sparkle-4{top:30%;left:50%;animation-delay:1s}.sparkle-5{top:80%;left:60%;animation-delay:1.2s}.sparkle-6{top:15%;left:70%;animation-delay:1.4s}.sparkle-7{top:50%;right:10%;animation-delay:1.6s}.popup-progress{margin-top:20px}.progress-message{font-size:14px;color:#666;margin:0;font-weight:500}@keyframes popupAppear{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes popupDisappear{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.9) translateY(-10px);opacity:0}}@keyframes flowerBloomPopup{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(-90deg);opacity:.8}to{transform:scale(1) rotate(0);opacity:1}}@keyframes sparkleFloat{0%{transform:translateY(0) scale(0);opacity:0}20%{opacity:1;transform:translateY(-10px) scale(1)}80%{opacity:1;transform:translateY(-30px) scale(1)}to{transform:translateY(-50px) scale(0);opacity:0}}@media (max-width: 480px){.flower-popup-content{padding:30px 20px;max-width:300px}.popup-title{font-size:20px}.popup-subtitle{font-size:14px}.popup-flower-container{height:150px;margin:20px 0}.water-animation{max-width:150px;max-height:150px}.popup-flower.rose{width:60px;height:60px}.popup-flower.ranunculus{width:50px;height:50px}.popup-flower.small-flower{width:40px;height:40px}.sparkle{font-size:12px}}.mypage-container{min-height:100vh;background:linear-gradient(135deg,#fdf2f8,#fce7f3,#fbcfe8);padding-bottom:80px}.mypage-header{display:flex;justify-content:center;align-items:center;padding:16px;background:#ffffffe6;border-bottom:1px solid #f3e8ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.header-logo{position:absolute;left:16px}.header-logo-image{width:32px;height:32px;object-fit:contain}.header-spacer{width:32px}.mypage-title{font-size:20px;font-weight:700;color:#000}.mypage-content{padding-bottom:20px}.pr-settings-section{background:#fffc;margin:16px;border-radius:12px;padding:16px;border:1px solid #f3e8ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.pr-settings-button{background:transparent;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;margin:0 auto;position:absolute;top:8px;right:8px}.pr-settings-button svg{color:#ec4899}.pr-settings-button:hover{opacity:.7;transform:translateY(-1px)}.profile-section{background:#fffc;margin:16px;border-radius:12px;padding:24px;text-align:center;border:1px solid #f3e8ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-name{font-size:22px;font-weight:600;color:#000;margin:12px 0 4px}.phone{font-size:18px;color:#666;margin-bottom:8px}.days-count{font-size:28px;font-weight:700;color:#000}.theme-section,.flower-section,.calendar-section{background:#fffc;margin:16px;border-radius:12px;padding:24px;border:1px solid #f3e8ff}.section-title{font-size:20px;font-weight:600;color:#000;margin-bottom:12px}.theme-container{background:#fbcfe84d;border-radius:8px;padding:16px}.theme{font-size:18px;color:#000;line-height:1.4;margin-bottom:8px}.start-date{font-size:16px;color:#666}.edit-theme-button{background:#fbcfe880;border:1px solid #f3e8ff;border-radius:8px;padding:8px 16px;font-size:14px;color:#666;margin-top:12px;transition:all .2s;display:flex;align-items:center;gap:6px}.edit-theme-button:hover{background:#fbcfe8b3;color:#000}.pr-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pr-modal-content{background:#fff;border-radius:16px;padding:0;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px #0006}.pr-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#fdf2f8,#fce7f3);flex-shrink:0}.pr-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#000;display:flex;align-items:center;gap:8px}.pr-close-button{background:none;color:#666;padding:4px;border-radius:4px;transition:color .2s}.pr-close-button:hover{color:#000}.pr-modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.pr-input-container{margin-bottom:20px}.pr-input-container:last-child{margin-bottom:0}.pr-input-label{display:block;font-size:16px;color:#000;margin-bottom:8px;font-weight:500}.pr-input-field{width:100%;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:12px;font-size:16px;color:#000;font-family:inherit;transition:border-color .2s}.pr-input-field:focus{border-color:#ec4899;outline:none}.pr-textarea-field{resize:vertical;min-height:100px;line-height:1.5}.pr-char-count{font-size:12px;color:#999;text-align:right;margin-top:4px}.pr-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;flex-shrink:0}.pr-cancel-button,.pr-save-button{flex:1;padding:12px 16px;border-radius:8px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.pr-cancel-button{background:#f5f5f5;color:#666;border:1px solid #e0e0e0}.pr-cancel-button:hover:not(:disabled){background:#e0e0e0;color:#000}.pr-save-button{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none}.pr-save-button:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be185d)}.pr-save-button:disabled,.pr-cancel-button:disabled{opacity:.6;cursor:not-allowed}.theme-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.theme-edit-modal-content{background:#fff;border-radius:16px;padding:0;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px #0006}.theme-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.theme-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#000}.theme-close-button{background:none;color:#666;padding:4px;border-radius:4px;transition:color .2s}.theme-close-button:hover{color:#000}.theme-modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.theme-input-container{margin-bottom:20px}.theme-input-label{display:block;font-size:16px;color:#000;margin-bottom:8px;font-weight:500}.theme-input-field{width:100%;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:12px;font-size:16px;color:#000;resize:vertical;min-height:80px;font-family:inherit}.theme-input-field:focus{border-color:#000;outline:none}.warning-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:16px;margin-bottom:20px}.warning-title{font-size:16px;font-weight:600;color:#856404;margin:0 0 8px;display:flex;align-items:center;gap:8px}.warning-text{font-size:14px;color:#856404;margin:0;line-height:1.4}.theme-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;flex-shrink:0}.theme-cancel-button,.theme-save-button{flex:1;padding:12px 16px;border-radius:8px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.theme-cancel-button{background:#f5f5f5;color:#666;border:1px solid #e0e0e0}.theme-cancel-button:hover:not(:disabled){background:#e0e0e0;color:#000}.theme-save-button{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none}.theme-save-button:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be185d)}.theme-save-button:disabled,.theme-cancel-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.theme-edit-modal-content{max-width:350px;width:95%}.theme-modal-header,.theme-modal-body,.theme-modal-footer{padding:16px 20px}.theme-modal-header h3{font-size:16px}.theme-cancel-button,.theme-save-button{font-size:14px;padding:10px 12px}.pr-modal-content{max-width:350px;width:95%}.pr-modal-header,.pr-modal-body,.pr-modal-footer{padding:16px 20px}.pr-modal-header h3{font-size:16px}.pr-cancel-button,.pr-save-button{font-size:14px;padding:10px 12px}}.flower-description,.calendar-description{font-size:16px;color:#666;margin-bottom:16px;text-align:center}.progress-text{font-size:18px;color:#000;font-weight:600;text-align:center;margin-top:8px}.calendar-container{display:flex;justify-content:center}.mypage-footer{text-align:center;padding:20px}.copyright{font-size:14px;color:#999}*{margin:0;padding:0;box-sizing:border-box}body{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;background:linear-gradient(135deg,#fdf2f8,#fce7f3,#fbcfe8);min-height:100vh}.app{min-height:100vh;background:inherit}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{outline:none;font-family:inherit}a{text-decoration:none;color:inherit}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
