@keyframes slideUp{0%{bottom:-100px;opacity:0}to{bottom:20px;opacity:1}}@media(max-width:480px){#updateBanner{width:calc(100% - 24px);flex-direction:column;gap:12px}#updateBanner>div{text-align:center}}.week-chart{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 16px;margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ring-day{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:transform .2s ease;flex:1}.ring-day:hover{transform:scale(1.08)}.ring-day:active{transform:scale(.98)}@media(hover:none){.ring-day:active{transform:scale(1.08)}}.ring-wrap{width:50px;height:50px;border-radius:50%;position:relative;background:conic-gradient(var(--ring-color, #333) var(--fill-percent, 0%),rgba(42,42,42,.3) var(--fill-percent, 0%));padding:5px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:all .2s ease}.ring-day:hover .ring-wrap{filter:drop-shadow(0 4px 12px var(--ring-color, #333))}.ring-arc{display:none}.ring-center{width:100%;height:100%;background:rgba(10,10,10,.85);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;z-index:1;position:relative}.ring-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#666;transition:color .2s ease}.ring-day:hover .ring-label{color:var(--ring-color, #666)}.ring-day.empty{--ring-color: #333;--fill-percent: 0%}.ring-day.empty .ring-center,.ring-day.empty .ring-label{color:#666}.ring-day.green{--ring-color: #22c55e}.ring-day.green .ring-center{color:#22c55e}.ring-day.lime{--ring-color: #84cc16}.ring-day.lime .ring-center{color:#84cc16}.ring-day.yellow{--ring-color: #eab308}.ring-day.yellow .ring-center{color:#eab308}.ring-day.orange{--ring-color: #f97316}.ring-day.orange .ring-center{color:#f97316}.ring-day.red,.ring-day.deep-red{--ring-color: #ef4444}.ring-day.red .ring-center,.ring-day.deep-red .ring-center{color:#ef4444}.ring-day.today .ring-label{color:#4a7ce8;font-weight:900}.ring-day.selected .ring-wrap{transform:scale(1.08);box-shadow:0 0 0 2px #4a7ce8,0 0 20px rgba(74,124,232,.4)}.ring-day.saturday .ring-label,.ring-day.sunday .ring-label{color:#4a7ce8}.ring-day.disabled{opacity:.3;cursor:not-allowed}.ring-day.disabled:hover{transform:none;filter:none}@keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.ring-day.selected .ring-wrap{animation:bounce-in .6s cubic-bezier(.34,1.56,.64,1)}@media(max-width:400px){.week-chart{gap:6px;padding:12px 8px 16px}.ring-wrap{width:48px;height:48px;padding:4px}.ring-center{font-size:14px}.ring-label{font-size:9px}}.modal-actions{display:flex;gap:8px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-actions button{padding:10px 18px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;position:relative}.modal-actions button.primary{background:#4a7ce8;color:#fff;box-shadow:0 4px 12px rgba(74,124,232,.3)}.modal-actions button.primary:hover{background:#5b8ef5;transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,124,232,.4)}.modal-actions button.primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(74,124,232,.3)}.modal-actions button.secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.15);padding:9px 12px}.modal-actions button.secondary:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.25)}.modal-actions button.secondary:active{background:rgba(255,255,255,.03)}.modal-actions button.ghost{background:transparent;color:#888;padding:10px 12px}.modal-actions button.ghost:hover{background:rgba(255,255,255,.05);color:#fff}.modal-actions button.ghost:active{background:rgba(255,255,255,.02)}.modal-actions button svg{width:16px;height:16px;stroke-width:2.5}@media(max-width:500px){.modal-actions button span{display:none}.modal-actions button{padding:10px 12px}}.language-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.language-modal-overlay.active{opacity:1;pointer-events:auto}.language-modal{background:#1a1a1a;border:1px solid rgba(255,255,255,.06);border-radius:20px;width:100%;max-width:420px;box-shadow:0 0 0 1px rgba(255,255,255,.02),0 24px 48px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3);transform:scale(.95);transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.language-modal-overlay.active .language-modal{transform:scale(1)}.language-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(74,124,232,.4) 50%,transparent)}.language-modal-header{padding:28px 28px 24px;border-bottom:1px solid rgba(255,255,255,.04);position:relative}.language-modal-title{font-size:20px;font-weight:600;color:#fff;letter-spacing:-.01em;margin-bottom:6px}.language-modal-subtitle{font-size:13px;color:rgba(255,255,255,.5);font-weight:400}.language-modal-close{position:absolute;top:24px;right:24px;width:36px;height:36px;border:none;background:rgba(255,255,255,.04);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.language-modal-close:hover{background:rgba(255,255,255,.08);transform:scale(1.05)}.language-modal-close:active{transform:scale(.95)}.language-modal-close svg{width:16px;height:16px;stroke:rgba(255,255,255,.6);transition:stroke .2s}.language-modal-close:hover svg{stroke:rgba(255,255,255,.9)}.language-modal-body{padding:8px}.language-option{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;margin:6px 0;background:transparent;border:1px solid transparent;border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.language-option:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.02);opacity:0;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.language-option:hover:before{opacity:1}.language-option:hover{border-color:rgba(255,255,255,.08);transform:translate(4px)}.language-option.active{background:linear-gradient(135deg,rgba(74,124,232,.08),rgba(74,124,232,.04));border-color:rgba(74,124,232,.2);box-shadow:0 0 0 1px rgba(74,124,232,.1),inset 0 1px rgba(255,255,255,.05)}.language-option.active:before{opacity:0}.language-option.active:hover{transform:none;border-color:rgba(74,124,232,.3)}.language-flag{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;transition:all .25s cubic-bezier(.4,0,.2,1)}.language-option:hover .language-flag{background:rgba(255,255,255,.06);transform:scale(1.05)}.language-option.active .language-flag{background:rgba(74,124,232,.15)}.language-info{flex:1;text-align:left}.language-name{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px;letter-spacing:-.01em}.language-code{font-size:12px;color:rgba(255,255,255,.5);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.language-check{width:24px;height:24px;border-radius:8px;background:rgba(74,124,232,.12);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:all .25s cubic-bezier(.4,0,.2,1)}.language-option.active .language-check{opacity:1;transform:scale(1)}.language-check svg{width:14px;height:14px;stroke:#4a7ce8;stroke-width:2.5;fill:none}.language-option:focus{outline:none;border-color:rgba(74,124,232,.4);box-shadow:0 0 0 3px rgba(74,124,232,.1)}@keyframes languageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.language-option{animation:languageSlideIn .4s cubic-bezier(.4,0,.2,1) backwards}.language-option:nth-child(1){animation-delay:.05s}.language-option:nth-child(2){animation-delay:.1s}@media(max-width:480px){.language-modal{max-width:100%;border-radius:24px}.language-modal-header{padding:24px 24px 20px}.language-modal-title{font-size:18px}.language-flag{width:40px;height:40px;font-size:22px}}.share-lang-btn{padding:8px 20px;border:none;border-radius:10px;background:transparent;color:rgba(255,255,255,.5);font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.share-lang-btn:hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.04)}.share-lang-btn.active{background:linear-gradient(135deg,rgba(74,124,232,.15),rgba(74,124,232,.08));color:#4a7ce8;box-shadow:0 0 0 1px rgba(74,124,232,.2),inset 0 1px rgba(255,255,255,.05)}.share-lang-btn.active:hover{background:linear-gradient(135deg,rgba(74,124,232,.2),rgba(74,124,232,.12));color:#5a8cf8}.share-lang{display:flex;gap:8px}.lang-btn{padding:10px 24px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:transparent;color:rgba(255,255,255,.5);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.lang-btn:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.03);color:rgba(255,255,255,.8);transform:translateY(-1px)}.lang-btn.active{background:linear-gradient(135deg,rgba(74,124,232,.15),rgba(74,124,232,.08));border-color:rgba(74,124,232,.3);color:#4a7ce8;box-shadow:0 0 0 1px rgba(74,124,232,.1),inset 0 1px rgba(255,255,255,.05)}.lang-btn.active:hover{transform:none}.lang-btn .flag{display:inline-block;letter-spacing:.5px}.modal-header-v2{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:24px}.modal-header-v2 .header-left{flex:1}.modal-header-v2 h2{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0}.modal-header-v2 .subtitle{font-size:14px;color:#888;margin-top:2px}.modal-header-v2 .modal-actions{flex-shrink:0}#dayUnitDisplay{display:none!important}.modal-actions-telegram{display:flex;align-items:center;gap:8px;flex-shrink:0}.modal-actions-telegram .icon-btn{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.modal-actions-telegram .icon-btn svg{width:22px;height:22px}.modal-actions-telegram .icon-btn span{display:none!important}.modal-actions-telegram .icon-btn{font-size:0!important;padding:0!important}.modal-actions-telegram .btn-share svg,.modal-actions-telegram .btn-duplicate svg,.modal-actions-telegram .btn-close svg{stroke-width:2.5;stroke:currentColor}.modal-actions-telegram .btn-share,.modal-actions-telegram .btn-duplicate{color:#fff}.modal-actions-telegram .btn-save{background:linear-gradient(135deg,#4a7ce8,#3d6cd4);color:#fff;box-shadow:0 4px 12px rgba(74,124,232,.3),inset 0 1px rgba(255,255,255,.2)}.modal-actions-telegram .btn-save svg{stroke:#fff!important;stroke-width:3.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}.modal-actions-telegram .btn-save:hover{background:linear-gradient(135deg,#5b8ef5,#4a7ce8);transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px rgba(74,124,232,.4),inset 0 1px rgba(255,255,255,.3)}.modal-actions-telegram .btn-save:active{transform:scale(.95);box-shadow:0 2px 8px rgba(74,124,232,.3),inset 0 1px rgba(255,255,255,.15)}.modal-actions-telegram .btn-share,.modal-actions-telegram .btn-duplicate{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff}.modal-actions-telegram .btn-share:hover,.modal-actions-telegram .btn-duplicate:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);transform:scale(1.02)}.modal-actions-telegram .btn-share:active,.modal-actions-telegram .btn-duplicate:active{background:rgba(255,255,255,.03);transform:scale(.95)}.modal-actions-telegram .btn-close{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#999}.modal-actions-telegram .btn-close:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff;transform:scale(1.02)}.modal-actions-telegram .btn-close:active{background:rgba(255,255,255,.03);transform:scale(.95)}@media(hover:none){.modal-actions-telegram .icon-btn:active{transform:scale(.95)}}
