.loading-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}.loading-content{text-align:center;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:30px;padding:40px 30px;box-shadow:0 8px 32px #b8e6ff4d;border:2px solid rgba(255,255,255,.5);max-width:300px;width:100%}.loading-spinner{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;position:relative;height:60px}.spinner-circle{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));animation:bounce 1.4s ease-in-out infinite;box-shadow:0 2px 8px #d4b5ff66}.spinner-circle:nth-child(1){animation-delay:0s}.spinner-circle:nth-child(2){animation-delay:.2s}.spinner-circle:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0) scale(1);opacity:.7}40%{transform:translateY(-20px) scale(1.1);opacity:1}}.loading-text{font-size:16px;color:#7b68ee;font-weight:600;margin:0;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}@media (max-width: 480px){.loading-container{min-height:50vh;padding:15px}.loading-content{padding:30px 20px;border-radius:24px}.loading-spinner{height:50px;gap:10px}.spinner-circle{width:14px;height:14px}.loading-text{font-size:14px}}.character-container{display:flex;justify-content:center;align-items:center;margin:20px 0;padding:10px}.character-svg{width:150px;height:210px;max-width:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.character-container.happy .character-svg{animation:float 3s ease-in-out infinite,bounce 2s ease-in-out infinite}.character-container.happy .eyes .eye{animation:blink 3s ease-in-out infinite}.character-container.happy .mouth{animation:smile 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}@keyframes blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes smile{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.9;transform:translateY(-1px)}}.character-container.sad .character-svg{animation:float 3s ease-in-out infinite,droop 2s ease-in-out infinite;opacity:.9}.character-container.sad .eyes .eye{animation:sadBlink 4s ease-in-out infinite}.character-container.sad .body{animation:sadBody 3s ease-in-out infinite}@keyframes droop{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(-2deg)}}@keyframes sadBlink{0%,85%,to{transform:scaleY(1)}90%,95%{transform:scaleY(.1)}}@keyframes sadBody{0%,to{transform:scale(1)}50%{transform:scale(.98)}}@media (max-width: 480px){.character-svg{width:120px;height:168px}}.header{text-align:center;margin-bottom:30px}.header h1{font-size:28px;font-weight:700;color:#7b68ee;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 8px rgba(139,122,232,.2);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.status-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:24px;margin-bottom:20px;box-shadow:var(--soft-shadow);border:2px solid rgba(255,255,255,.5)}.status-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.status-item:last-child{margin-bottom:0}.label{font-size:16px;color:var(--tg-theme-hint-color, #999)}.value{font-size:18px;font-weight:600}.value.checked{color:#6bcb77;font-weight:700}.value.not-checked{color:#ff9f66;font-weight:700}.check-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));color:#fff;border:none;border-radius:20px;cursor:pointer;margin-bottom:20px;transition:all .3s ease;box-shadow:var(--soft-shadow);position:relative;overflow:hidden}.check-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.check-button:hover:not(.disabled):before{left:100%}.check-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:var(--soft-shadow-hover)}.check-button.disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,#d0d0d0,#e0e0e0)}.nav-buttons{display:flex;gap:10px}.nav-button{flex:1;padding:14px;font-size:16px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;border:2px solid rgba(212,181,255,.3);border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #b8e6ff33}.nav-button:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow);border-color:var(--pastel-purple);background:#fff}@media (max-width: 480px){.container{padding:15px}.header h1{font-size:24px}.status-card{padding:18px;border-radius:20px;margin-bottom:15px}.status-item{margin-bottom:12px}.label{font-size:14px}.value{font-size:16px}.check-button{padding:16px;font-size:16px;border-radius:18px;margin-bottom:15px}.nav-buttons{gap:8px}.nav-button{padding:12px;font-size:14px;border-radius:14px}}@media (max-width: 768px){.check-button,.nav-button{min-height:44px}}.purchase-screen{text-align:center;padding:30px 20px}.purchase-screen h1{font-size:24px;margin-bottom:20px}.purchase-screen p{font-size:16px;margin-bottom:20px;line-height:1.6;color:#666}.purchase-screen .price{font-size:20px;font-weight:700;margin-bottom:25px;color:#7b68ee;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.purchase-screen .purchase-button{width:100%;max-width:300px;margin:0 auto}@media (max-width: 480px){.purchase-screen{padding:25px 15px}.purchase-screen h1{font-size:20px;margin-bottom:15px}.purchase-screen p{font-size:14px;margin-bottom:15px}.purchase-screen .price{font-size:18px;margin-bottom:20px}.purchase-screen .purchase-button{max-width:100%}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.stats-summary{display:flex;gap:15px;margin-bottom:30px}.stat-item{flex:1;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px;text-align:center;box-shadow:var(--soft-shadow);border:2px solid rgba(255,255,255,.5)}.stat-value{font-size:32px;font-weight:600;margin-bottom:8px}.stat-label{font-size:14px;color:var(--tg-theme-hint-color, #999)}.chart-container{margin-bottom:30px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px;box-shadow:var(--soft-shadow);border:2px solid rgba(255,255,255,.5)}.chart-container h3{margin-bottom:15px;font-size:20px;font-weight:700;color:#7b68ee;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.calendar-view{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px;box-shadow:var(--soft-shadow);border:2px solid rgba(255,255,255,.5)}.calendar-view h3{margin-bottom:15px;font-size:20px;font-weight:700;color:#7b68ee;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;font-weight:500}.calendar-day.checked{background:linear-gradient(135deg,#6bcb77,#4ecdc4);color:#fff;box-shadow:0 2px 8px #6bcb7766;font-weight:600}.calendar-day.missed{background:#ffffffb3;color:#999;border:1px solid rgba(212,181,255,.2)}@media (max-width: 480px){.container{padding:15px}.header{margin-bottom:15px;flex-wrap:wrap;gap:10px}.header h1{font-size:22px}.back-button{padding:8px 14px;font-size:13px}.stats-summary{flex-direction:column;gap:12px;margin-bottom:20px}.stat-item{padding:16px;border-radius:18px}.stat-value{font-size:28px;margin-bottom:6px}.stat-label{font-size:13px}.chart-container,.calendar-view{padding:16px;border-radius:18px;margin-bottom:20px}.chart-container h3,.calendar-view h3{font-size:18px;margin-bottom:12px}.calendar-grid{gap:6px}.calendar-day{font-size:12px;border-radius:6px}}@media (max-width: 768px){.back-button{min-height:44px}.calendar-day{min-height:32px}}.container{padding:20px;max-width:100%}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header h1{font-size:28px;font-weight:700;color:#7b68ee;background:linear-gradient(135deg,#8b7ae8,#c77df2,#ff8fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.back-button{padding:10px 18px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;border:2px solid rgba(212,181,255,.3);border-radius:16px;cursor:pointer;font-size:14px;transition:all .3s ease;box-shadow:0 2px 10px #b8e6ff33}.back-button:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow);border-color:var(--pastel-purple)}.settings-section{margin-bottom:25px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px;box-shadow:var(--soft-shadow);border:2px solid rgba(255,255,255,.5);color:#333}.setting-label{display:block;font-size:16px;font-weight:500;margin-bottom:10px;color:#333}.interval-control{display:flex;align-items:center;gap:15px}.slider{flex:1;height:8px;border-radius:10px;background:linear-gradient(90deg,var(--pastel-blue),var(--pastel-purple));outline:none;-webkit-appearance:none;box-shadow:inset 0 2px 4px #0000001a}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));cursor:pointer;box-shadow:0 2px 8px #d4b5ff80;border:2px solid white;transition:all .2s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px #d4b5ffb3}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));cursor:pointer;border:2px solid white;box-shadow:0 2px 8px #d4b5ff80}.interval-value{font-size:18px;font-weight:600;min-width:30px;text-align:center;color:#333}.select-input,.text-input{width:100%;padding:14px;font-size:16px;border:2px solid rgba(212,181,255,.3);border-radius:16px;background:#ffffffe6;color:#333;transition:all .3s ease}.select-input:focus,.text-input:focus{outline:none;border-color:var(--pastel-purple);box-shadow:0 0 0 3px #d4b5ff33}.toggle-control{display:flex;align-items:center}.toggle-button{padding:12px 24px;font-size:16px;border:2px solid var(--pastel-purple);border-radius:16px;background:transparent;color:var(--pastel-purple);cursor:pointer;transition:all .3s ease;font-weight:500}.toggle-button.active{background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));color:#fff;box-shadow:var(--soft-shadow);border-color:transparent}.toggle-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4b5ff4d}.save-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));color:#fff;border:none;border-radius:20px;cursor:pointer;margin-top:20px;box-shadow:var(--soft-shadow);transition:all .3s ease}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--soft-shadow-hover)}.save-button:disabled{opacity:.6;cursor:not-allowed}.setting-description{font-size:14px;color:var(--tg-theme-hint-color, #999);margin-bottom:15px;line-height:1.4}.share-button,.remove-button{width:100%;padding:14px;font-size:16px;border:2px solid var(--pastel-purple);border-radius:16px;background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-pink));color:#fff;cursor:pointer;transition:all .3s ease;margin-top:10px;font-weight:500;box-shadow:0 2px 10px #d4b5ff4d}.remove-button{background:transparent;color:#ff6b6b;border-color:#ff6b6b;box-shadow:0 2px 10px #ff6b6b33}.share-button:hover,.remove-button:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow-hover)}.emergency-contact-status{font-size:14px;color:var(--tg-theme-link-color, #0088cc);margin-bottom:10px}@media (max-width: 480px){.container{padding:15px}.header{margin-bottom:20px;flex-wrap:wrap;gap:10px}.header h1{font-size:22px}.back-button{padding:8px 14px;font-size:13px}.settings-section{padding:16px;border-radius:18px;margin-bottom:18px}.setting-label{font-size:14px;margin-bottom:8px}.interval-control{gap:12px}.slider{height:6px}.slider::-webkit-slider-thumb{width:20px;height:20px}.slider::-moz-range-thumb{width:20px;height:20px}.interval-value{font-size:16px;min-width:25px}.select-input,.text-input{padding:12px;font-size:15px;border-radius:14px}.toggle-button{padding:10px 20px;font-size:14px;border-radius:14px}.save-button{padding:16px;font-size:16px;border-radius:18px;margin-top:15px}.share-button,.remove-button{padding:12px;font-size:14px;border-radius:14px}.setting-description{font-size:12px;margin-bottom:12px}.emergency-contact-status{font-size:13px}}@media (max-width: 768px){.save-button,.share-button,.remove-button,.toggle-button,.back-button{min-height:44px}}*{margin:0;padding:0;box-sizing:border-box}:root{--pastel-blue: #B8E6FF;--pastel-purple: #D4B5FF;--pastel-pink: #FFB8E6;--pastel-yellow: #FFE6B8;--pastel-lavender: #E6D4FF;--soft-shadow: 0 4px 20px rgba(184, 230, 255, .3);--soft-shadow-hover: 0 6px 25px rgba(184, 230, 255, .4)}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,var(--pastel-blue) 0%,var(--pastel-purple) 50%,var(--pastel-pink) 100%);background-attachment:fixed;min-height:100vh;color:#333}#root{min-height:100vh}@media (max-width: 480px){body{font-size:14px}}@media (max-width: 768px){*{-webkit-tap-highlight-color:transparent}button,a{-webkit-tap-highlight-color:rgba(0,0,0,.1)}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
