@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap";.music-player{position:fixed;bottom:20px;right:20px;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:25px;box-shadow:0 8px 30px #ffb3d966;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);overflow:hidden;min-width:60px}.music-player.expanded{min-width:320px;max-width:400px}.music-controls{display:flex;align-items:center;gap:10px;padding:12px 16px}.music-toggle{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #a67c5259;transition:all var(--transition-normal);flex-shrink:0;border:2px solid rgba(255,255,255,.85)}.music-toggle:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 20px #ffb3d999}.music-toggle:active:not(:disabled){transform:scale(.95)}.music-toggle:disabled{opacity:.5;cursor:not-allowed}.music-nav{width:40px;height:40px;border-radius:50%;background:#a67c5226;border:1.5px solid rgba(166,124,82,.25);color:var(--color-text);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.music-nav:hover{background:#e3a8a859;transform:scale(1.08)}.music-expand{width:35px;height:35px;border-radius:50%;background:#a67c5226;border:1.5px solid rgba(166,124,82,.25);color:var(--color-text);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);margin-left:auto}.music-expand:hover{background:#ffb3d966}.music-details{padding:0 16px 16px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.music-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.music-note{font-size:24px;animation:float 2s ease-in-out infinite}.music-text{flex:1;min-width:0}.music-title{font-size:14px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-artist{font-size:12px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-progress-container{cursor:pointer}.music-progress-bar{width:100%;height:4px;background:#ffb3d933;border-radius:2px;overflow:hidden;margin-bottom:6px}.music-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-rose),var(--color-brown));border-radius:2px;transition:width .1s linear}.music-time{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-light)}@media (max-width: 480px){.music-player{bottom:15px;right:15px;left:auto;max-width:calc(100vw - 30px);min-width:60px}.music-player.expanded{min-width:auto;max-width:calc(100vw - 30px);width:auto}.music-controls{padding:10px 12px;flex-wrap:nowrap}.music-toggle{width:45px;height:45px;font-size:20px;flex-shrink:0}.music-nav{width:35px;height:35px;font-size:16px;flex-shrink:0}.music-expand{flex-shrink:0}.music-details{padding:0 12px 12px}}@media (max-width: 390px) and (max-height: 844px){.music-player{bottom:12px;right:12px;max-width:calc(100vw - 24px)}.music-player.expanded{max-width:calc(100vw - 24px)}}.music-player--freaky{background:#1a0d2ef5!important;border:1px solid rgba(255,51,102,.4);box-shadow:0 8px 30px #8a2be273,0 0 20px #f363!important}.music-player--freaky .music-toggle{background:linear-gradient(135deg,#f36,#8a2be2)!important;border-color:#ff336680!important;box-shadow:0 4px 15px #f366!important}.music-player--freaky .music-toggle:hover:not(:disabled){box-shadow:0 6px 20px #8a2be299!important}.music-player--freaky .music-nav{background:#8a2be233!important;border-color:#ff33664d!important;color:#f9b!important}.music-player--freaky .music-nav:hover{background:#ff33664d!important}.music-player--freaky .music-expand{background:#8a2be226!important;border-color:#8a2be24d!important;color:#c8f!important}.music-player--freaky .music-title{color:#f9b!important}.music-player--freaky .music-artist{color:#c8f!important}.music-player--freaky .music-note{filter:hue-rotate(270deg)}.music-player--freaky .music-progress-fill{background:linear-gradient(90deg,#f36,#8a2be2)!important}.music-player--freaky .music-progress-bar{background:#ff336626!important}.music-player--freaky .music-time{color:#c8f9!important}.love-request{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:linear-gradient(145deg,#fdf8f5,#fffdf9 40%,#f9f4f0 75%,#fdf8f5)}.love-request:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 25%,rgba(166,124,82,.08) 0%,transparent 55%),radial-gradient(ellipse at 80% 75%,rgba(139,94,60,.05) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(249,244,240,.2) 0%,transparent 65%);pointer-events:none;z-index:0}.landing-floating-dudu{position:absolute;z-index:5;pointer-events:none;animation:floatSlow 5s ease-in-out infinite}.landing-floating-dudu,.landing-floating-dudu-media{will-change:transform,opacity}@media (max-width: 480px){.landing-floating-dudu{z-index:99999}}.landing-floating-dudu-media{width:88px;height:88px;object-fit:contain;opacity:.72;filter:drop-shadow(0 6px 12px rgba(139,94,60,.18))}.love-request-content{text-align:center;z-index:10;position:relative;max-width:560px;width:100%;padding:48px 36px 40px;background:#fffdf9b8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:40px;box-shadow:0 30px 80px #8b5e3c24,0 10px 30px #e8526a1a,0 0 0 1px #ffffffa6,inset 0 1px #ffffffd9;border:1.5px solid rgba(232,82,106,.12)}.nub-cat-container{margin-bottom:28px}.nub-cat-image{width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(139,94,60,.2));transform-origin:center}video.nub-cat-image,video.landing-floating-dudu-media,video.transition-gif{background:transparent}@media (max-width: 480px){.nub-cat-image{width:200px;height:200px}.landing-floating-dudu-media{width:54px;height:54px}.landing-floating-dudu{opacity:.62}}.love-text{font-size:44px;font-weight:800;letter-spacing:-1px;margin-bottom:14px;background:linear-gradient(135deg,#8b5e3c,#e8526a 55%,#b07d54);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease-in-out infinite}.landing-title{font-size:36px;letter-spacing:-.5px}.question-container{margin-bottom:32px}.question-text{font-size:20px;color:var(--color-text-light);font-weight:600}.landing-subtitle{font-size:18px;color:var(--color-text-muted);font-weight:500}@media (max-width: 480px){.love-text{font-size:32px}.landing-title{font-size:28px}}.buttons-container{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.landing-btn-wrap{justify-content:center}.btn-yes{padding:18px 52px;background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;border-radius:50px;font-size:20px;font-weight:700;letter-spacing:.5px;box-shadow:0 8px 24px #e8526a59;transition:transform var(--transition-spring),box-shadow var(--transition-normal)}.btn-yes:hover:not(:disabled){transform:translateY(-4px) scale(1.04);box-shadow:0 14px 32px #e8526a73}.btn-yes:active:not(:disabled){transform:translateY(-1px) scale(.98)}.btn-lets-go{padding:20px 60px;font-size:22px;animation:pulse 3s ease-in-out infinite}.btn-no{padding:16px 40px;background:#ffffffd9;color:var(--color-text);border-radius:50px;font-size:18px;font-weight:700;box-shadow:0 4px 14px #8b5e3c1a;border:1.5px solid rgba(139,94,60,.12);transition:transform .4s cubic-bezier(.68,-.55,.265,1.55),box-shadow var(--transition-normal)}.btn-no:hover:not(:disabled){box-shadow:0 8px 24px #8b5e3c24}.emoji-rain{position:fixed;top:-60px;animation:emojiRain linear infinite;pointer-events:none;z-index:1;opacity:0}.heart-particle{position:fixed;pointer-events:none;z-index:50;animation:heartRain 1.1s ease-in both}.landing-transitioning .love-request-content{animation:fadeIn .3s ease-out reverse both}.sad-cat-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:30;background:#fff8f4d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sad-cat-image{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(232,82,106,.25))}.sad-cat-emoji{font-size:80px;display:none}.sad-cat-message{font-size:24px;font-weight:700;color:var(--color-rose);margin-top:16px}.disappear-emoji{position:fixed;pointer-events:none;z-index:200;font-size:24px;animation:disappearFloat 1.5s ease-out forwards}@keyframes disappearFloat{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--final-x),var(--final-y)) scale(0);opacity:0}}.transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#f9f4f0f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.transition-gif{width:140px;height:140px;object-fit:contain}.transition-msg{font-size:26px;font-weight:800;color:var(--color-brown);animation:pulse 2s infinite}.album{min-height:100vh;padding:20px;max-width:1200px;margin:0 auto}.album-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;margin-bottom:30px;padding:18px 24px;background:#ffffffe0;border:1px solid rgba(139,94,60,.12);border-radius:30px;box-shadow:0 20px 45px #0000000f}.album-header-left{display:flex;align-items:center;gap:18px;min-width:0}.album-header-right{display:flex;align-items:center;justify-content:flex-end;min-width:0}@media (max-width: 768px){.album-header{display:flex;flex-direction:column;align-items:stretch}.album-header-right{justify-content:center;width:100%}}.album-title{font-size:36px;font-weight:700;background:linear-gradient(135deg,var(--color-brown),var(--color-rose));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;overflow:visible;word-break:break-word}.back-button{padding:12px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;font-size:16px;font-weight:600;color:var(--color-text);box-shadow:var(--shadow-soft);cursor:pointer;transition:all var(--transition-normal)}.album-view-toggle{padding:12px 22px;min-width:160px;background:linear-gradient(135deg,#e8526a,#b07d54);color:#fff;border-radius:999px;border:none;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #e8526a2e;transition:transform .2s ease,box-shadow .2s ease}.album-view-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 30px #e8526a40}.album-info{margin-bottom:30px;padding:20px;background:#b3d9ff33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px solid rgba(179,217,255,.4)}.info-text{font-size:14px;color:var(--color-text);line-height:1.6;text-align:left}.info-text code{background:#ffffffb3;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.upload-button{padding:15px 30px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;border-radius:25px;font-size:18px;font-weight:600;cursor:pointer;text-align:center;box-shadow:var(--shadow-medium);transition:all var(--transition-normal)}.upload-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.upload-button:active{transform:translateY(0)}.comment-input{padding:12px 20px;border:2px solid var(--color-pink-light);border-radius:20px;font-size:16px;font-family:inherit;outline:none;transition:all var(--transition-normal)}.comment-input:focus{border-color:var(--color-pink);box-shadow:0 0 0 3px #ffb3d933}.empty-album{text-align:center;padding:60px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:var(--shadow-soft)}.empty-text{font-size:28px;font-weight:600;color:var(--color-text);margin-bottom:10px}.empty-subtext{font-size:18px;color:var(--color-text-light)}.firebase-warning{background:#ffc10733;border:2px solid rgba(255,193,7,.5);border-radius:15px;padding:20px;margin-bottom:20px;text-align:center}.warning-text{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:10px}.warning-subtext{font-size:14px;color:var(--color-text-light);line-height:1.6}.demo-notice{background:#b3d9ff33;border:2px solid rgba(179,217,255,.5);border-radius:15px;padding:20px;margin-bottom:20px;text-align:center}.demo-text{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:10px}.demo-subtext{font-size:14px;color:var(--color-text-light);line-height:1.6}.album-rows-container{display:flex;flex-direction:column;gap:0}.album-row{margin-bottom:40px}.album-row:last-child{margin-bottom:0}.album-grid-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.row-separator{display:flex;align-items:center;justify-content:center;gap:15px;margin:30px 0;padding:0 20px}.separator-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--color-pink),var(--color-purple),var(--color-blue),transparent);border-radius:2px}.separator-emoji{font-size:24px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(255,153,204,.4))}.final-separator{margin-top:40px;margin-bottom:60px}.row-decorative-cat{display:flex;justify-content:center;align-items:center;margin:20px 0;padding:10px}.row-decorative-cat .decorative-cat-image{width:80px;height:80px;object-fit:contain;opacity:.6;filter:drop-shadow(0 4px 8px rgba(255,153,204,.3));animation:float 4s ease-in-out infinite;transition:opacity .3s ease}.row-decorative-cat:hover .decorative-cat-image{opacity:1}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.album-item{position:relative;aspect-ratio:1;border-radius:15px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-soft);transition:all var(--transition-normal);background:var(--color-pink-light)}.album-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-strong)}.album-item img,.album-item video{width:100%;height:100%;object-fit:cover}.album-video-thumbnail,.video-item{position:relative}.video-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;color:#fff;background:#4a3b32d1;border:2px solid rgba(255,255,255,.9);border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px #00000073;z-index:2;pointer-events:none;transition:all var(--transition-normal)}.album-item:hover .video-play-icon{transform:translate(-50%,-50%) scale(1.08);background:#e8526aeb;border-color:#fff}.item-comment{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:15px 10px 10px;color:#fff;font-size:14px;display:flex;align-items:center;gap:5px}.item-comment .modal-comment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px 20px}.item-comment .modal-inline-edit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;min-width:72px;height:40px;border-radius:20px;border:1px solid rgba(139,94,60,.12);background:linear-gradient(135deg,#e8526a1f,#b07d540f);color:var(--color-brown);font-size:14px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.item-comment .modal-inline-edit:hover{background:linear-gradient(135deg,#e8526a29,#b07d5417);transform:translateY(-2px);box-shadow:0 10px 20px #00000014}.item-comment .modal-inline-edit-icon{font-size:14px}.item-comment .modal-inline-edit-label{display:inline-block;line-height:1}.comment-emoji{font-size:16px}.comment-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffb3d900;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.album-item:hover .item-overlay{background:#ffb3d933}.overlay-emoji{font-size:30px;opacity:0;transform:scale(.5);transition:all var(--transition-normal)}.album-item:hover .overlay-emoji{opacity:1;transform:scale(1)}.decorative-cat-item{cursor:default!important;background:linear-gradient(135deg,#ffd1e680,#e6ccff80);display:flex;align-items:center;justify-content:center;border:2px dashed rgba(255,153,204,.4)}.decorative-cat-item:hover{transform:translateY(-5px) scale(1.02);background:linear-gradient(135deg,#ffd1e6b3,#e6ccffb3);border-color:#f9c9}.decorative-cat-in-grid{width:100%;height:100%;object-fit:contain;padding:15px;opacity:.7;filter:drop-shadow(0 4px 8px rgba(255,153,204,.3));animation:float 4s ease-in-out infinite;transition:all .3s ease}.decorative-cat-item:hover .decorative-cat-in-grid{opacity:1;transform:scale(1.1)}.decorative-cat-item .item-overlay,.decorative-cat-item .item-comment{display:none}.final-cats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;justify-items:center;max-width:600px;margin:0 auto}.end-decorative-cat-item{cursor:default!important;background:var(--color-pink-light)!important;border:3px dashed var(--color-pink)!important;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-soft);width:100%;max-width:280px}.end-decorative-cat-item:hover{transform:translateY(-5px) scale(1.02);background:var(--color-pink)!important;border-color:var(--color-pink-dark)!important;box-shadow:var(--shadow-strong)}.end-decorative-cat-image{width:100%;height:100%;object-fit:contain;padding:25px;opacity:.85;filter:drop-shadow(0 4px 8px rgba(255,153,204,.5));animation:float 5s ease-in-out infinite;transition:all .3s ease}.end-decorative-cat-item:hover .end-decorative-cat-image{opacity:1;transform:scale(1.05)}.end-decorative-cat-item .item-overlay{opacity:0;transition:opacity .3s ease;background:#ff99cc1a}.end-decorative-cat-item:hover .item-overlay{opacity:1}.end-decorative-cat-item .item-comment{display:none}.upload-button-cat{cursor:pointer!important;border:3px dashed var(--color-pink)!important;position:relative}.upload-button-cat:hover{border-color:var(--color-purple)!important;transform:scale(1.05)}.upload-button-cat:after{content:"➕";position:absolute;top:10px;right:10px;font-size:24px;opacity:.7}.upload-modal-content{max-width:500px;width:90%;padding:25px;max-height:90vh;overflow-y:auto}.upload-modal-title{font-size:24px;font-weight:700;color:var(--color-text);margin-bottom:20px;text-align:center}.upload-form{display:flex;flex-direction:column;gap:20px}.upload-label{display:flex;flex-direction:column;gap:10px}.upload-label span{font-size:16px;font-weight:600;color:var(--color-text)}.upload-input{position:absolute;opacity:0;width:0;height:0;overflow:hidden}.upload-file-label{display:block;width:100%}.upload-file-button{display:flex;width:100%;padding:20px;background:linear-gradient(135deg,var(--color-pink-light),var(--color-purple-light));border:3px dashed var(--color-pink);border-radius:15px;font-size:18px;font-weight:600;color:var(--color-text);text-align:center;cursor:pointer;transition:all var(--transition-normal);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:60px;align-items:center;justify-content:center}.upload-file-button:active{transform:scale(.98);background:linear-gradient(135deg,var(--color-pink),var(--color-purple));border-color:var(--color-pink-dark)}.upload-preview{margin-top:15px;border-radius:10px;overflow:hidden;max-height:300px;border:2px solid var(--color-pink-light);background:#ffffff80;padding:10px;position:relative;transition:all var(--transition-normal)}.upload-preview:hover{border-color:var(--color-pink);box-shadow:0 4px 15px #ff99cc4d}.upload-preview-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:15px 10px 10px;color:#fff;text-align:center;font-size:14px;font-weight:600;opacity:0;transition:opacity var(--transition-normal)}.upload-preview:hover .upload-preview-overlay{opacity:1}.upload-preview-hint{display:block}.upload-preview-image{width:100%;height:auto;object-fit:contain}.upload-textarea{padding:12px;border:2px solid var(--color-pink-light);border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:all var(--transition-normal)}.upload-textarea:focus{border-color:var(--color-pink);box-shadow:0 0 0 3px #ffb3d933}.upload-actions{display:flex;gap:10px;justify-content:flex-end}.upload-submit-button{padding:12px 24px;background:linear-gradient(135deg,var(--color-pink),var(--color-purple));color:#fff;border:none;border-radius:15px;font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.upload-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-medium)}.upload-submit-button:disabled{opacity:.6;cursor:not-allowed}.upload-cancel-button{padding:12px 24px;background:#c8c8c84d;color:var(--color-text);border:none;border-radius:15px;font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.upload-cancel-button:hover:not(:disabled){background:#c8c8c880}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:max(20px,env(safe-area-inset-top)) 20px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeIn .3s ease-out}.freaky-password-modal{max-width:420px;padding:28px 24px;border-radius:24px;background:linear-gradient(145deg,#fff8f4fa,#fcecf2f7);box-shadow:0 28px 70px #8b5e3c3d;display:flex;flex-direction:column;gap:14px;margin:auto}.freaky-password-modal h3{margin:0;font-size:24px;color:var(--color-text)}.freaky-password-modal p{margin:0;color:var(--color-text-muted);line-height:1.5}.freaky-password-input-wrap{position:relative;width:100%}.freaky-password-input,.freaky-password-input--error{width:100%;padding:14px 48px 14px 16px;border:1.5px solid rgba(139,94,60,.18);border-radius:14px;background:#fffffff2;font-size:15px;color:var(--color-text);box-sizing:border-box}.freaky-password-input:focus{outline:none;border-color:var(--color-rose);box-shadow:0 0 0 3px #e8526a24}.freaky-password-input--error{border-color:var(--color-rose);animation:wobble .35s ease-in-out}.freaky-show-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:50%;background:#8b5e3c14;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.freaky-show-password:hover{background:#e8526a1f;color:var(--color-rose)}.freaky-show-password svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.freaky-password-error{margin:0;color:var(--color-rose);font-size:14px;font-weight:700}.freaky-unlock-btn{padding:12px 16px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.freaky-unlock-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #e8526a38}.freaky-unlock-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-content{position:relative;max-width:90vw;max-height:none;width:100%;background:#fff;border-radius:20px;overflow:visible;box-shadow:var(--shadow-strong);animation:slideIn .3s ease-out;margin:auto 0}.modal-content img,.modal-content video{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;border-radius:20px 20px 0 0}.modal-video{background:#000;border-radius:10px}.modal-close{position:absolute;top:15px;right:15px;width:40px;height:40px;background:#000000b3;color:#fff;border-radius:50%;font-size:20px;cursor:pointer;z-index:10;transition:all var(--transition-normal)}.modal-close:hover{background:#000000e6;transform:scale(1.1)}.modal-comment{padding:20px;background:var(--color-pink-light);color:var(--color-text);font-size:16px;line-height:1.6}.modal-edit-controls{padding:20px;border-top:1px solid rgba(0,0,0,.05);background:#fffffff2;display:flex;flex-direction:column;gap:16px}.modal-edit-button,.save-button,.cancel-button{padding:12px 18px;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.modal-edit-button{background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;align-self:flex-start}.modal-edit-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #e8526a33}.edit-form{display:grid;gap:14px}.edit-textarea{width:100%;min-height:120px;padding:14px;border:2px solid rgba(139,94,60,.18);border-radius:18px;font-size:16px;font-family:inherit;resize:vertical;line-height:1.5;outline:none}.edit-textarea:focus{border-color:var(--color-pink);box-shadow:0 0 0 3px #ffb3d933}.edit-actions{display:flex;gap:12px;flex-wrap:wrap}.save-button{background:linear-gradient(135deg,var(--color-pink),var(--color-purple));color:#fff}.save-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #d12d8f40}.cancel-button{background:#0000000d;color:var(--color-text)}.cancel-button:hover{background:#00000014}@media (max-width: 768px){.album-grid-row{grid-template-columns:repeat(3,1fr);gap:15px}.row-separator{margin:25px 0;gap:10px}.album-header-left .back-button{margin-bottom:8px}.album-header-right{width:100%;justify-content:center}.separator-emoji{font-size:20px}.row-decorative-cat .decorative-cat-image{width:60px;height:60px}.end-decorative-cat-image{padding:15px}}@media (max-width: 480px){.album{padding:14px 12px;max-width:100%}.album-header{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.album-header-left{width:100%;flex-direction:column;align-items:flex-start;gap:12px}.back-button,.album-view-toggle{width:100%;max-width:100%}.album-title{font-size:24px;line-height:1.1}.album-filters{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.album-select{flex:1 1 48%;min-width:0;max-width:48%}.album-grid-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.folder-selection{grid-template-columns:1fr;gap:14px}.folder-card{padding:16px}.row-separator{margin:18px 0}.row-decorative-cat{margin:12px 0}.row-decorative-cat .decorative-cat-image{width:48px;height:48px}.decorative-cat-in-grid{padding:10px}.final-cats-row{grid-template-columns:1fr;gap:14px;max-width:100%}.end-decorative-cat-item{border-width:2px;max-width:100%}.end-decorative-cat-image{padding:15px}.upload-button{padding:12px 22px;font-size:15px}.comment-input{padding:10px 14px;font-size:15px}.upload-file-button{padding:16px;font-size:15px;min-height:50px}.upload-modal-content{max-width:95vw;padding:18px}.upload-form{gap:14px}.album-title,.folder-title{width:100%}.row-separator{padding:0 6px}.modal-content{width:100%;max-width:95vw;border-radius:22px}}@media (max-width: 360px){.album-grid-row{grid-template-columns:1fr;gap:12px}.album-grid{grid-template-columns:1fr}.row-separator{margin:15px 0;padding:0 10px}.separator-line{height:1px}.separator-emoji{font-size:18px}.album-header{padding:14px}.album-view-toggle,.back-button{padding:12px 16px}.album-title{font-size:22px}.album-select{font-size:14px}.modal-content{width:100%;margin:0 6px}}.album-controls{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.album-mode-toggle,.folder-button{border:2px solid rgba(139,94,60,.18);background:#fffffff2;color:var(--color-text);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-normal)}.album-mode-toggle.active,.folder-button.active{background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;border-color:#ffffffe6;box-shadow:0 10px 24px #e8526a2e}.album-mode-toggle:hover,.folder-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000001f}.folder-selector{justify-content:center}.folder-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;padding:10px 0 24px}.folder-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px;background:#fffffff2;border:2px solid rgba(139,94,60,.16);border-radius:28px;box-shadow:0 10px 24px #00000014;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.folder-card:hover{transform:translateY(-3px);border-color:#e8526a4d;box-shadow:0 14px 30px #0000001f}.folder-card img{width:100%;max-width:200px;border-radius:22px;object-fit:contain}.folder-card span{font-size:16px;font-weight:700;color:var(--color-text)}.folder-open-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.folder-back-button{padding:12px 22px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(139,94,60,.18);border-radius:999px;color:var(--color-text);font-weight:700;cursor:pointer;transition:all .2s ease}.folder-back-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #e8526a1f}.folder-title{font-size:24px;font-weight:800;color:var(--color-brown)}.album-filters{display:flex;gap:15px;justify-content:center;align-items:center;flex-wrap:nowrap;margin-bottom:20px}.album-select{padding:8px 12px;border-radius:8px;border:1px solid rgba(139,94,60,.2);background:#fffdf9e6;color:#3d2b1f;font-family:Nunito,sans-serif;font-weight:600;outline:none;cursor:pointer}.category-divider-header{text-align:center;font-family:Nunito,sans-serif;color:#8b5e3c;font-size:24px;font-weight:800;margin:40px 0 20px;letter-spacing:1px}.album.freaky-theme{color:#ffe6f0}.album.freaky-theme .album-header{background:#1a000deb;border-color:#4d0026;box-shadow:0 20px 45px #00000059}.album.freaky-theme .album-title,.album.freaky-theme .back-button,.album.freaky-theme .folder-back-button,.album.freaky-theme .folder-title{color:#ffb3d1}.album.freaky-theme .album-view-toggle,.album.freaky-theme .folder-back-button{background:#200010;border-color:#603;color:#ffb3d1}.album.freaky-theme .category-divider-header{color:#f36}.album.freaky-theme .album-item{border-color:#4d0026;box-shadow:0 10px 24px #00000059}.album.freaky-theme .row-separator .separator-line{background:linear-gradient(90deg,transparent,#8a2be2,#ff3366,transparent)}.album.freaky-theme .empty-text{color:#f9b}.love-wars{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:15px;max-width:1200px;margin:0 auto;position:relative;overflow:hidden;box-sizing:border-box;will-change:transform;transform:translateZ(0)}.wars-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px;z-index:10;position:relative}.back-button{padding:10px 18px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:15px;font-weight:600;color:var(--color-text);box-shadow:var(--shadow-soft);cursor:pointer;transition:all .2s ease;border:none;-webkit-tap-highlight-color:transparent}.back-button:hover{transform:translate(-2px);box-shadow:var(--shadow-medium)}.back-button:active{transform:translate(0)}.wars-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.score,.lives{font-size:18px;font-weight:700;color:var(--color-text);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px;border-radius:20px;box-shadow:var(--shadow-soft);white-space:nowrap}.pause-button{width:45px;height:45px;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:20px;box-shadow:var(--shadow-soft);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border:none;-webkit-tap-highlight-color:transparent}.pause-button:hover{transform:scale(1.1);box-shadow:var(--shadow-medium)}.pause-button:active{transform:scale(.95)}.game-container{position:relative;width:100%;flex:1 1 auto;min-height:400px;min-height:0;height:100%;max-height:100%;background:linear-gradient(135deg,var(--color-rose-pale),var(--color-brown-pale));border-radius:20px;overflow:hidden;box-shadow:var(--shadow-medium);z-index:2;box-sizing:border-box;will-change:transform;transform:translateZ(0)}.game-canvas{width:100%;height:100%;display:block;touch-action:none;position:relative;z-index:2;background:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;will-change:transform;transform:translateZ(0)}.game-start-popup,.game-end-popup{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease-out}.start-popup-content,.end-popup-content{background:#fffffffa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:35px 30px;border-radius:25px;text-align:center;box-shadow:var(--shadow-strong);max-width:90%;width:90%;max-width:500px;animation:fadeIn .3s ease-out}.start-popup-content h2,.end-popup-content h2{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:20px}.start-instructions{font-size:18px;color:var(--color-text);line-height:1.6;margin-bottom:20px}.high-score-text{font-size:16px;color:var(--color-brown);font-weight:600;margin-bottom:20px}.start-button,.play-again-button{padding:12px 35px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;border-radius:25px;font-size:16px;font-weight:600;box-shadow:var(--shadow-medium);cursor:pointer;transition:all .2s ease;border:none;-webkit-tap-highlight-color:transparent}.start-button:hover,.play-again-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.start-button:active,.play-again-button:active{transform:translateY(0)}.endgame-image{width:250px;height:250px;object-fit:contain;margin-bottom:25px;border-radius:15px;box-shadow:0 8px 20px #0003}.new-record{font-size:18px;color:var(--color-rose);font-weight:700;margin-bottom:15px}.score-display{background:linear-gradient(135deg,#e8526a1a,#ddd2e21a);padding:20px;border-radius:15px;margin-bottom:25px;border:2px solid rgba(232,82,106,.2)}.final-score{font-size:18px;color:var(--color-text);margin:0 0 10px;font-weight:600}.score-number{font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.end-popup-buttons{display:flex;flex-direction:column;gap:12px}.back-to-games-button{padding:12px 35px;background:#8b5e3c1a;color:var(--color-brown);border:2px solid var(--color-brown);border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.back-to-games-button:hover{background:#8b5e3c33;transform:translateY(-2px)}.back-to-games-button:active{transform:translateY(0)}.game-over,.game-paused{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffffa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:35px 30px;border-radius:25px;text-align:center;box-shadow:var(--shadow-strong);z-index:100;animation:fadeIn .3s ease-out;max-width:90%}.game-over h2,.game-paused h2{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:15px}.final-score{font-size:20px;color:var(--color-text-light);margin-bottom:20px}.restart-button{padding:12px 35px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;border-radius:25px;font-size:16px;font-weight:600;box-shadow:var(--shadow-medium);cursor:pointer;transition:all .2s ease;border:none;-webkit-tap-highlight-color:transparent}.restart-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.restart-button:active{transform:translateY(0)}@media (max-width: 390px) and (max-height: 844px){.love-wars{padding:10px;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}.wars-header{margin-bottom:10px;gap:8px;flex-shrink:0}.back-button{padding:8px 15px;font-size:14px}.wars-info{gap:8px}.score,.lives{font-size:16px;padding:8px 12px}.pause-button{width:40px;height:40px;font-size:18px}.game-container{flex:1 1 auto;min-height:0;height:calc(100dvh - 130px);max-height:calc(100dvh - 130px);border-radius:15px;box-sizing:border-box}.game-canvas{height:100%!important;width:100%!important;max-height:100%}.start-popup-content,.end-popup-content{padding:30px 25px;width:85%}.start-popup-content h2,.end-popup-content h2{font-size:24px}.start-instructions{font-size:16px}.endgame-image{width:200px;height:200px}.game-over,.game-paused{padding:30px 25px;width:85%}.game-over h2,.game-paused h2{font-size:24px}.final-score{font-size:18px}.restart-button{padding:10px 28px;font-size:15px}}@media (max-width: 480px){.love-wars{padding:12px;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}.wars-header{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.wars-info{justify-content:flex-end;gap:8px}.score,.lives{font-size:16px;padding:8px 14px}.game-container{flex:1 1 auto;min-height:0;height:calc(100dvh - 150px);max-height:calc(100dvh - 150px);box-sizing:border-box}.game-canvas{height:100%!important;width:100%!important;max-height:100%}.start-popup-content,.end-popup-content{padding:30px 20px;width:90%}.start-popup-content h2,.end-popup-content h2{font-size:22px}.start-instructions{font-size:15px}.endgame-image{width:180px;height:180px}.game-over,.game-paused{padding:30px 20px;width:90%}.game-over h2,.game-paused h2{font-size:26px}.final-score{font-size:18px}.restart-button{padding:10px 30px;font-size:15px}}@media (prefers-reduced-motion: reduce){.game-canvas{animation:none}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.game-canvas{image-rendering:-webkit-optimize-contrast}}.love-notes{min-height:100vh;padding:20px;max-width:1200px;margin:0 auto}.love-notes-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.back-button{padding:12px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;font-size:16px;font-weight:600;color:var(--color-text);box-shadow:var(--shadow-soft);cursor:pointer;transition:all var(--transition-normal);border:none}.back-button:hover{transform:translate(-3px);box-shadow:var(--shadow-medium)}.love-notes-title{font-size:36px;font-weight:700;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.love-notes-content{display:flex;flex-direction:column;gap:40px}.notes-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:30px;box-shadow:var(--shadow-soft)}.section-title{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:20px;text-align:center}.notes-container{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.note-card{background:linear-gradient(135deg,#ffb3d933,#e6ccff33);border-radius:15px;padding:20px;border-left:4px solid var(--color-rose);transition:all var(--transition-normal)}.note-card:hover{transform:translate(5px);box-shadow:var(--shadow-soft)}.note-text{font-size:16px;color:var(--color-text);margin-bottom:10px;line-height:1.6}.note-date{font-size:12px;color:var(--color-text-light);opacity:.7}.add-note-form{display:flex;flex-direction:column;gap:15px}.note-input{padding:15px;border:2px solid var(--color-rose-pale);border-radius:15px;font-size:16px;font-family:inherit;resize:vertical;outline:none;transition:all var(--transition-normal)}.note-input:focus{border-color:var(--color-rose);box-shadow:0 0 0 3px #ffb3d933}.add-note-button{padding:15px 30px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));color:#fff;border:none;border-radius:20px;font-size:18px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-medium)}.add-note-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.add-note-button:active{transform:translateY(0)}.favorites-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:30px;box-shadow:var(--shadow-soft)}.favorites-subsection{margin-bottom:30px}.favorites-subsection:last-child{margin-bottom:0}.subsection-title{font-size:22px;font-weight:600;color:var(--color-text);margin-bottom:20px;text-align:center}.favorite-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;justify-items:center;max-width:800px;margin:0 auto}@media (min-width: 769px){.favorite-photos-grid{grid-template-columns:repeat(3,1fr);justify-content:center;align-items:center}}.favorite-photo-card{background:#ffb3d91a;border-radius:15px;overflow:hidden;transition:all var(--transition-normal);cursor:pointer;width:100%;max-width:250px}.favorite-photo-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-medium)}.favorite-photo{width:100%;height:200px;object-fit:cover}.favorite-photo-comment{padding:15px;font-size:14px;color:var(--color-text);text-align:center}.favorite-songs-list{display:flex;flex-direction:column;gap:15px}.favorite-song-item{display:flex;align-items:center;gap:15px;padding:15px;background:linear-gradient(135deg,#ffb3d91a,#e6ccff1a);border-radius:15px;transition:all var(--transition-normal)}.favorite-song-item:hover{transform:translate(5px);box-shadow:var(--shadow-soft)}.favorite-song-edit-grid{display:flex;flex-direction:column;gap:15px}.favorite-song-edit-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.favorite-song-edit-input,.favorite-song-add-input{flex:1 1 220px;min-width:160px;padding:14px 18px;border:1px solid rgba(139,69,139,.2);border-radius:18px;font-size:15px;outline:none;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.favorite-song-edit-input:focus,.favorite-song-add-input:focus{border-color:#8b458b99;box-shadow:0 0 0 4px #ffb3d91f}.favorite-song-delete,.favorite-song-add-button{padding:12px 18px;border:none;border-radius:18px;cursor:pointer;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.favorite-song-delete:hover,.favorite-song-add-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.favorite-song-add-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.about-us-edit-note{margin-bottom:16px;font-size:15px;color:var(--color-text-light);text-align:center}.subsection-header-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.subsection-header-row .subsection-title{margin-bottom:0}.favorite-songs-edit-toggle{padding:8px 14px;border:1px solid rgba(139,69,139,.2);border-radius:20px;background:#ffffffb3;color:var(--color-text-light);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.favorite-songs-edit-toggle:hover{color:var(--color-brown);border-color:var(--color-rose);background:var(--color-rose-pale)}.favorite-photo-card--editable{position:relative}.favorite-photo-edit-badge{display:block;padding:8px 12px 12px;font-size:12px;color:var(--color-text-light);text-align:center;font-weight:600}.photo-picker-content{position:relative;width:min(92vw,900px);max-height:85vh;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-strong);display:flex;flex-direction:column}.photo-picker-title{padding:20px 24px 12px;margin:0;font-size:20px;color:var(--color-text);text-align:center}.photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:12px 20px 24px;overflow-y:auto;max-height:calc(85vh - 80px)}.photo-picker-item{border:none;background:#ffb3d91a;border-radius:12px;overflow:hidden;cursor:pointer;padding:0;text-align:left;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.photo-picker-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.photo-picker-item img{width:100%;height:110px;object-fit:cover;display:block}.photo-picker-caption{display:block;padding:8px;font-size:11px;color:var(--color-text-light);line-height:1.3}.song-emoji{font-size:30px}.song-info{display:flex;flex-direction:column;gap:5px;flex:1}.song-title{font-size:16px;font-weight:600;color:var(--color-text)}.song-artist{font-size:14px;color:var(--color-text-light)}.special-moments-list{display:flex;flex-direction:column;gap:15px}.special-moment-item{display:flex;align-items:center;gap:15px;padding:15px;background:linear-gradient(135deg,#ffb3d91a,#e6ccff1a);border-radius:15px;transition:all var(--transition-normal)}.special-moment-item:hover{transform:translate(5px);box-shadow:var(--shadow-soft)}.moment-emoji{font-size:30px}.moment-info{display:flex;flex-direction:column;gap:5px;flex:1}.moment-title{font-size:16px;font-weight:600;color:var(--color-text)}.moment-date{font-size:14px;color:var(--color-text-light)}.moment-location{font-weight:600;color:var(--color-brown)}.events-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:30px;box-shadow:var(--shadow-soft)}.events-container{display:flex;flex-direction:column;gap:20px}.event-card{background:linear-gradient(135deg,#ffb3d933,#e6ccff33);border-radius:20px;padding:25px 25px 28px;border-left:5px solid var(--color-brown);transition:all var(--transition-normal);overflow:visible}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.event-header{display:flex;align-items:center;gap:15px;margin-bottom:10px}.event-emoji{font-size:35px}.event-name{font-size:22px;font-weight:700;color:var(--color-text)}.event-description{font-size:14px;color:var(--color-text-light);margin-bottom:15px}.event-date-info{display:flex;flex-direction:column;gap:8px;padding-bottom:4px}.event-date{font-size:16px;font-weight:600;color:var(--color-text)}.countdown{font-size:18px;font-weight:700;color:var(--color-brown);animation:pulse 2s ease-in-out infinite;line-height:1.4;padding-bottom:2px}.countdown.past{color:var(--color-rose);animation:none}.countdown.enigmatic{color:var(--color-brown);font-style:italic;animation:pulse 2s ease-in-out infinite}.freaky-mode-section{display:flex;justify-content:center;padding:40px 0}.freaky-mode-button{padding:25px 40px;background:linear-gradient(135deg,#8b458bcc,#4b0082cc);color:#fff;border:none;border-radius:25px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all var(--transition-normal);box-shadow:var(--shadow-medium);opacity:.7}.freaky-mode-button:hover{transform:translateY(-5px) scale(1.05);box-shadow:var(--shadow-strong);opacity:1}.freaky-emoji{font-size:40px;animation:float 3s ease-in-out infinite}.freaky-text{font-size:24px;font-weight:700}.freaky-subtitle{font-size:14px;opacity:.8}@media (max-width: 768px){.love-notes{padding:15px}.love-notes-title{font-size:28px}.section-title{font-size:24px}.favorite-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.favorite-photo{height:150px}}@media (max-width: 480px){.love-notes-header{flex-direction:column;align-items:flex-start;gap:15px}.love-notes-title{font-size:24px}.notes-section,.favorites-section,.events-section{padding:20px}.favorite-photos-grid{grid-template-columns:1fr}.freaky-mode-button{padding:20px 30px}.freaky-emoji{font-size:35px}.freaky-text{font-size:20px}}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease-out}.photo-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-strong);animation:slideIn .3s ease-out}.photo-modal-close{position:absolute;top:15px;right:15px;width:40px;height:40px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;z-index:10;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.photo-modal-close:hover{background:#000000e6;transform:scale(1.1)}.photo-modal-image{width:100%;height:auto;max-height:80vh;object-fit:contain;display:block}.photo-modal-comment{padding:20px;background:var(--color-rose-pale);color:var(--color-text);font-size:16px;line-height:1.6;text-align:center}@keyframes slideIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.bucket-page{min-height:100vh;padding:20px;background:radial-gradient(circle at 12% 16%,rgba(232,82,106,.13),transparent 28%),radial-gradient(circle at 86% 72%,rgba(166,124,82,.12),transparent 30%),linear-gradient(145deg,#fff4ec,#fde8ec 52%,#f5ede3)}.bucket-header{display:flex;align-items:center;gap:14px;margin-bottom:28px;flex-wrap:wrap}.bucket-back{padding:10px 18px;background:#fffdf9e0;border-radius:50px;font-weight:700;color:var(--color-text);border:1.5px solid rgba(139,94,60,.14);box-shadow:var(--shadow-soft)}.bucket-back:hover{transform:translate(-3px)}.bucket-header h2{font-size:28px;font-weight:800;color:var(--color-text)}.bucket-header p{color:var(--color-text-light);font-weight:700}.bucket-card{max-width:820px;margin:0 auto;background:#fffdf9d6;border:1.5px solid rgba(255,255,255,.72);border-radius:28px;padding:22px;box-shadow:0 18px 50px #8b5e3c24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bucket-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.bucket-tabs.has-private-tab{grid-template-columns:repeat(5,1fr)}.bucket-tabs button{padding:12px 10px;border-radius:18px;background:#ffffffa6;color:var(--color-text-light);font-size:18px;font-weight:800;border:1.5px solid rgba(166,124,82,.1)}.bucket-tabs button.active{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;box-shadow:0 8px 22px #e8526a3d}.bucket-tabs button.private-tab{border-color:#3b343047;background:#3b343014}.bucket-tabs button.private-tab.active{background:linear-gradient(135deg,#3b3430,#e8526a)}.bucket-edit-panel{display:grid;gap:10px;margin-bottom:14px}.bucket-edit-toolbar,.bucket-tab-editor,.bucket-tab-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bucket-edit-toolbar{flex-wrap:wrap}.bucket-tab-editor input{flex:1;min-width:180px;padding:11px 13px;border-radius:14px;border:1.5px solid rgba(166,124,82,.16);background:#ffffffd1;color:var(--color-text);font:inherit;font-weight:800;outline:none}.bucket-edit-panel button,.bucket-panel-toggle{padding:10px 14px;border-radius:14px;background:#8b5e3cdb;color:#fff;font-weight:800}.bucket-panel-toggle{width:fit-content;background:linear-gradient(135deg,#e8526aeb,#8b5e3ceb)}.bucket-edit-panel button:disabled,.bucket-panel-toggle:disabled{opacity:.45;cursor:not-allowed}.bucket-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.bucket-add input,.bucket-add textarea,.bucket-edit-fields textarea,.bucket-date-edit input,.bucket-edit-input{flex:1;width:100%;padding:13px 14px;border-radius:16px;border:1.5px solid rgba(166,124,82,.16);background:#ffffffd1;color:var(--color-text);font:inherit;font-weight:700;outline:none}.bucket-add textarea,.bucket-edit-fields textarea{grid-column:1 / -1;min-height:76px;resize:vertical}.bucket-add input:focus,.bucket-add textarea:focus,.bucket-edit-fields textarea:focus,.bucket-date-edit input:focus,.bucket-edit-input:focus{border-color:var(--color-rose);box-shadow:0 0 0 4px #e8526a1a}.bucket-add button,.bucket-actions button{padding:12px 16px;border-radius:16px;background:var(--color-brown);color:#fff;font-weight:800}.bucket-add button:disabled{opacity:.45;cursor:not-allowed}.bucket-filters{display:flex;gap:8px;justify-content:center;margin-bottom:18px;flex-wrap:wrap}.bucket-filters button{padding:9px 13px;border-radius:999px;background:#ffffffad;color:var(--color-text-light);font-weight:800;border:1.5px solid rgba(166,124,82,.12)}.bucket-filters button.active{background:#e8526a24;color:var(--color-rose);border-color:#e8526a42}.bucket-locked,.bucket-empty{text-align:center;padding:18px;color:var(--color-text-light);font-weight:700}.bucket-list{display:flex;flex-direction:column;gap:12px}.bucket-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border-radius:20px;background:#ffffffad;border:1.5px solid rgba(166,124,82,.1);box-shadow:0 4px 16px #8b5e3c14}.bucket-check{width:30px;height:30px;border-radius:50%;border:2px solid var(--color-rose);background:#fff;color:var(--color-rose);font-weight:900;line-height:1}.bucket-check:disabled{cursor:default;opacity:.75}.bucket-text{width:100%;padding:0;background:transparent;border-radius:0;text-align:left;font-size:17px;font-weight:800;color:var(--color-text);overflow-wrap:anywhere}.bucket-edit-fields{display:grid;gap:9px}.bucket-date-edit{display:grid;gap:6px;color:var(--color-text-light);font-size:13px;font-weight:800}.bucket-details{grid-column:2 / -1;padding:12px 14px;border-radius:16px;background:#fff4ecb8;color:var(--color-text-light);font-weight:700;line-height:1.5}.bucket-completed-date{margin-top:8px;color:var(--color-rose);font-size:13px}.bucket-item.completed .bucket-text{color:var(--color-text-muted);text-decoration:line-through;text-decoration-thickness:3px}.bucket-item.completed .bucket-check{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;border-color:transparent}.bucket-actions{display:flex;gap:8px}.bucket-actions button{padding:9px 12px;font-size:13px;background:#8b5e3ce0}.bucket-actions button:last-child{background:#e8526ae0}@media (max-width: 620px){.bucket-card{padding:16px;border-radius:22px}.bucket-tabs,.bucket-tabs.has-private-tab{grid-template-columns:repeat(2,1fr)}.bucket-add{grid-template-columns:1fr}.bucket-item{grid-template-columns:auto 1fr}.bucket-details{grid-column:1 / -1}.bucket-actions{grid-column:1 / -1;justify-content:flex-end;flex-wrap:wrap}}.bucket-page.freaky-theme{background:linear-gradient(145deg,#120008,#2a0014);color:#ffe6f0}.bucket-page.freaky-theme .bucket-back,.bucket-page.freaky-theme .bucket-header h2,.bucket-page.freaky-theme .bucket-header p{color:#ffb3d1}.bucket-page.freaky-theme .bucket-back{background:#1a000deb;border-color:#4d0026}.bucket-page.freaky-theme .bucket-card{background:#1a000deb;border-color:#4d0026;box-shadow:0 18px 50px #00000059}.bucket-page.freaky-theme .bucket-tabs button{background:#200010d9;border-color:#4d0026;color:#f9b}.bucket-page.freaky-theme .bucket-tabs button.active{background:linear-gradient(135deg,#603,#8a2be2);border-color:#f36;color:#fff;box-shadow:0 8px 22px #ff336638}.bucket-page.freaky-theme .bucket-tabs button.private-tab.active{background:linear-gradient(135deg,#4a002a,#8a2be2)}.bucket-page.freaky-theme .bucket-panel-toggle,.bucket-page.freaky-theme .bucket-edit-panel button{background:linear-gradient(135deg,#603,#8a2be2)}.bucket-page.freaky-theme .bucket-add input,.bucket-page.freaky-theme .bucket-add textarea,.bucket-page.freaky-theme .bucket-edit-fields textarea,.bucket-page.freaky-theme .bucket-edit-input,.bucket-page.freaky-theme .bucket-tab-editor input{background:#120008;border-color:#603;color:#fff}.bucket-page.freaky-theme .bucket-item{background:#200010e0;border-color:#4d0026}.bucket-page.freaky-theme .bucket-item-text,.bucket-page.freaky-theme .bucket-details,.bucket-page.freaky-theme .bucket-empty{color:#ffb3d1}.bucket-page.freaky-theme .bucket-filters button{background:#200010d9;border-color:#4d0026;color:#f9b}.bucket-page.freaky-theme .bucket-filters button.active{background:linear-gradient(135deg,#603,#8a2be2);color:#fff}.love-letters-page{min-height:100vh;padding:24px 18px 48px;background:linear-gradient(145deg,#fff4ec,#fde8ec,#f5ede3)}.letters-header{max-width:860px;margin:0 auto 24px;display:flex;align-items:center;gap:16px}.letters-back{padding:10px 18px;background:#fffdf9d9;border-radius:50px;font-weight:700;color:var(--color-text);border:1.5px solid rgba(139,94,60,.14);box-shadow:var(--shadow-soft)}.letters-header h2{color:var(--color-text);font-size:28px;font-weight:900}.letters-header p{color:var(--color-text-muted);font-size:14px;font-weight:700}.new-letter-button,.letter-editor,.letters-list{max-width:860px;margin-left:auto;margin-right:auto}.new-letter-button{display:block;width:min(100%,260px);margin-bottom:18px;padding:14px 18px;border-radius:50px;background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;font-weight:900;box-shadow:0 8px 22px #e8526a40}.letter-editor{background:#fffdf9db;border:1.5px solid rgba(232,82,106,.12);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft);margin-bottom:22px}.letter-editor input,.letter-editor textarea{width:100%;padding:13px 14px;border-radius:14px;border:1.5px solid rgba(139,94,60,.18);background:#ffffffc2;color:var(--color-text);font-family:inherit;font-size:15px;margin-bottom:12px}.letter-editor textarea{resize:vertical;line-height:1.55}.letter-editor-actions,.letter-actions{display:flex;gap:10px}.letter-editor-actions button,.letter-actions button{flex:1;padding:12px 14px;border-radius:50px;font-weight:800}.letter-editor-actions button:first-child,.letter-actions button:first-child{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff}.letter-editor-actions button:last-child,.letter-actions button:last-child{background:#fffc;color:#b4233a;border:1.5px solid rgba(180,35,58,.24)}.letter-editor-actions button:disabled,.letter-actions button:disabled{opacity:.65;cursor:not-allowed}.letters-list{display:grid;gap:18px}.letter-card{background:#fffdf9e6;border:1.5px solid rgba(232,82,106,.12);border-radius:28px;padding:22px;box-shadow:var(--shadow-soft)}.letter-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(139,94,60,.12)}.letter-card-header h3{color:var(--color-text);font-size:24px;font-weight:900}.letter-date{color:var(--color-rose);font-size:13px;font-weight:800;margin-top:4px}.letter-card-header span{color:var(--color-rose);font-weight:900;background:var(--color-rose-pale);border-radius:50px;padding:6px 10px}.letter-body{color:var(--color-text);line-height:1.65;font-size:16px;margin-bottom:18px}.letter-body p{margin:0 0 6px}.letters-empty{text-align:center;color:var(--color-text-muted);font-weight:800}@media (max-width: 600px){.letters-header{align-items:flex-start;flex-direction:column}.letters-header h2{font-size:24px}.letter-card{padding:18px;border-radius:22px}.letter-card-header{flex-direction:column}}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e0f0880;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:500;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 0;animation:fadeIn .25s ease-out}.auth-modal{background:#fffdf9f5;border-radius:28px;padding:40px 36px;width:90%;max-width:400px;max-height:calc(100vh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch;margin:auto;text-align:center;box-shadow:0 30px 80px #8b5e3c38,0 0 0 1px #fff9;position:relative;animation:fadeInScale .3s ease-out}.auth-close{position:sticky;top:0;display:block;width:fit-content;margin-left:auto;margin-top:-24px;margin-right:-12px;z-index:3;background:#fffdf9f5;color:var(--color-text-muted);font-size:18px;padding:4px 8px;border-radius:50%;transition:all var(--transition-fast)}.auth-close:hover{color:var(--color-rose);background:var(--color-rose-pale)}.auth-title{font-size:22px;font-weight:800;color:var(--color-text);margin-bottom:20px}.profile-selector{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.profile-chip{padding:10px 20px;border-radius:50px;background:var(--color-brown-pale);color:var(--color-text);font-weight:700;font-size:15px;border:2px solid transparent;transition:all var(--transition-normal)}.profile-chip.active{background:var(--color-rose);color:#fff;border-color:var(--color-rose);box-shadow:0 4px 14px #e8526a59}.easter-egg{margin-bottom:14px;animation:fadeInScale .3s ease-out}.easter-egg img{width:90px;height:90px;object-fit:contain;border-radius:12px;animation:wobble .5s ease-in-out}.auth-input{width:100%;padding:14px 18px;border-radius:14px;border:2px solid rgba(139,94,60,.14);background:#fff;font-size:16px;color:var(--color-text);margin-bottom:10px;transition:border-color var(--transition-fast)}.auth-input:focus{outline:none;border-color:var(--color-rose)}.auth-input--error{border-color:var(--color-rose)!important;animation:wobble .4s ease-in-out}.auth-error{color:var(--color-rose);font-size:14px;font-weight:600;margin-bottom:10px}.auth-input-wrapper{position:relative;width:100%}.auth-show-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#8b5e3c14;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.auth-show-password:hover{background:#e8526a1f;color:var(--color-rose)}.auth-show-password svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-btn-login{width:100%;padding:14px;background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;border-radius:14px;font-size:17px;font-weight:700;box-shadow:0 6px 18px #e8526a4d;transition:all var(--transition-spring);margin-top:4px}.auth-btn-login:hover{transform:translateY(-2px);box-shadow:0 10px 24px #e8526a66}.auth-loggedin{display:flex;flex-direction:column;align-items:center;gap:12px}.auth-avatar{font-size:52px;animation:bounce 2s ease-in-out infinite}.auth-loggedin h2{font-size:24px;font-weight:800;color:var(--color-text)}.auth-loggedin p{color:var(--color-text-muted);font-size:15px}.editing-toggle-panel{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;background:#f9f4f0c7;border:1.5px solid rgba(139,94,60,.12);border-radius:18px;text-align:left}.editing-toggle-panel div{display:flex;flex-direction:column;gap:3px}.editing-toggle-panel strong{color:var(--color-text);font-size:14px}.editing-toggle-panel span{color:var(--color-text-muted);font-size:12px;font-weight:700}.editing-toggle{width:56px;height:32px;padding:4px;border-radius:50px;background:#8b5e3c2e;border:1.5px solid rgba(139,94,60,.16);flex:0 0 auto;transition:all var(--transition-normal)}.editing-toggle span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #8b5e3c38;transition:transform var(--transition-spring)}.editing-toggle.active{background:linear-gradient(135deg,#e8526a,#8b5e3c)}.editing-toggle.active span{transform:translate(24px)}.language-panel{width:100%;background:#f9f4f0c7;border:1.5px solid rgba(139,94,60,.12);border-radius:18px;padding:14px;text-align:left}.language-title{display:block;color:var(--color-text);font-size:14px;font-weight:800;margin-bottom:10px}.language-options{display:flex;flex-direction:column;gap:8px}.language-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px;background:#fffdf9db;border:1.5px solid transparent;color:var(--color-text)}.language-option.active{border-color:var(--color-rose);background:var(--color-rose-pale);box-shadow:0 5px 14px #e8526a24}.language-option strong{font-size:14px}.language-option small{color:var(--color-text-light);font-size:12px;font-weight:700}.language-status{display:block;margin-top:8px;color:var(--color-text-muted);font-size:12px;font-weight:700}.auth-btn-logout{padding:12px 30px;background:var(--color-brown-pale);color:var(--color-text);border-radius:50px;font-size:15px;font-weight:700;border:2px solid rgba(139,94,60,.14);margin-top:4px;transition:all var(--transition-normal)}.auth-btn-logout:hover{background:var(--color-rose-pale);border-color:var(--color-rose);color:var(--color-rose)}.auth-btn-music{width:100%;padding:11px 20px;background:transparent;color:var(--color-brown);border:1.5px solid var(--color-brown-light);border-radius:12px;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;margin-top:8px;transition:all .2s ease}.auth-btn-music:hover{background:var(--color-brown-pale);border-color:var(--color-brown);color:var(--color-charcoal)}.roulette-page{padding:16px;max-width:980px;margin:0 auto;color:#2b2b2b;position:relative}.back-button{background:transparent;border:none;font-size:16px;margin-bottom:8px;cursor:pointer}.roulette-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.freaky-launch-button{padding:10px 18px;border-radius:999px;border:none;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b458beb,#4b0082eb);box-shadow:0 14px 30px #6b327040;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.freaky-launch-button:hover{transform:translateY(-2px);box-shadow:0 18px 40px #6b32704d}.roulette-title{margin:8px 0 16px;font-size:24px}.roulette-main{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.roulette-main{justify-content:center}.roulette-canvas{flex:1 1 320px;max-width:500px;border-radius:12px;background:transparent;box-shadow:none;display:block;margin:0 auto}.roulette-card{background:linear-gradient(180deg,#fff,#fff7fb);box-shadow:0 6px 18px #00000014;border-radius:12px;padding:18px 64px;display:inline-block;margin:0 auto}.roulette-pulse{transform-origin:center;animation:pulse .6s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.roulette-deco{width:48px;height:48px;z-index:20}.roulette-deco-img{width:100%;height:100%;object-fit:contain}.decorative-cat{position:absolute;z-index:10050;pointer-events:none;will-change:transform,opacity}.decorative-cat-image{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(139,94,60,.18));opacity:.95}@media (max-width: 720px){.decorative-cat-image{width:56px;height:56px}}.roulette-controls{flex:1 1 260px;display:flex;flex-direction:column;gap:8px}.roulette-textarea{min-height:220px;resize:vertical;padding:8px;border-radius:8px;border:1px solid #eee;font-size:14px}.roulette-buttons{display:flex;gap:8px}.roulette-buttons{justify-content:center}.spin-button,.sample-button{padding:10px 14px;border-radius:8px;border:none;cursor:pointer;background:#ffb3d9}.spin-sticker{display:inline-flex;align-items:center;justify-content:center;margin-left:8px}.spin-sticker-img{width:44px;height:44px;object-fit:contain;border-radius:6px}@media (max-width:420px){.spin-sticker-img{width:40px;height:40px}}.spin-button{margin:0 auto}.spin-button[disabled]{opacity:.6;cursor:default}.roulette-winner{margin-top:12px;padding:14px 16px;background:linear-gradient(90deg,#fff8f9,#fff1f6);border-radius:12px;border:1px solid #ffd6e6;box-shadow:0 6px 18px #e8526a0f;font-size:16px;font-weight:700;color:#5a2b31}.roulette-winner strong{display:inline-block;margin-left:6px;font-weight:800}@media (max-width: 720px){.roulette-main{flex-direction:column;align-items:center;justify-content:center}.roulette-card{padding:16px 18px;width:calc(100% - 32px);box-sizing:border-box}.roulette-textarea{min-height:160px}}.roulette-page{overflow:visible}.freaky-page{padding:18px;max-width:980px;margin:0 auto;color:#2c1d26}.back-button{background:transparent;border:none;font-size:16px;margin-bottom:12px;cursor:pointer}.freaky-title{font-size:34px;font-weight:800;margin-bottom:6px}.freaky-description{color:#6e4e6d;margin-bottom:20px;max-width:760px}.freaky-main{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.freaky-wheel-card,.roulette-card{background:#fff;border:1px solid #f0e4ef;border-radius:32px;padding:18px;box-shadow:0 18px 44px #9560891a}.freaky-canvas,.roulette-canvas{width:100%;max-width:500px;border-radius:28px;display:block}.freaky-controls{flex:1;min-width:300px;display:grid;gap:18px}.freaky-textarea,.roulette-textarea{width:100%;min-height:210px;border-radius:24px;border:1px solid #e9d7e5;padding:16px;font-size:15px;resize:vertical;background:#fff9fe}.freaky-buttons,.roulette-buttons{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;width:100%}.freaky-spin-button{margin:0 auto}.freaky-spin-button,.spin-button{padding:14px 20px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff99c5,#e35a9f);color:#fff;font-weight:700;cursor:pointer;min-width:140px}.freaky-spin-button.secondary,.spin-button.secondary{background:#fff;color:#8a3f7e;border:1px solid #f0d7e8}.freaky-spin-button[disabled],.spin-button[disabled]{opacity:.55;cursor:not-allowed}.freaky-sticker,.spin-sticker{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:20px;background:#fff8fc;border:1px solid #f1d7e5}.freaky-sticker-img,.spin-sticker-img{width:44px;height:44px;object-fit:contain}.freaky-winner,.roulette-winner{background:#fff2fb;padding:14px 16px;border-radius:18px;border:1px solid #f4d7ee;color:#5d3150;font-weight:700}.wiki-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.wiki-modal{background:#fff;border-radius:24px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.wiki-btn-back{background:transparent;border:none;color:#6e4e6d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.wiki-close{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:24px;cursor:pointer;color:#6e4e6d}.wiki-list{display:grid;gap:12px}.wiki-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#fff9fe;border:1px solid #f1d7e5;cursor:pointer}.wiki-item:hover{background:#f8e6f5}.wiki-item-image{width:60px;height:60px;object-fit:cover;border-radius:12px}.wiki-item-title{font-weight:600;color:#2c1d26}.wiki-detail{display:grid;gap:16px}.wiki-detail-title{font-size:24px;font-weight:700;color:#2c1d26;margin:0}.wiki-detail-image{width:100%;height:200px;object-fit:cover;border-radius:16px}.wiki-detail-description{color:#6e4e6d;line-height:1.5}@media (max-width: 940px){.freaky-main{flex-direction:column}}@media (max-width: 720px){.freaky-page{padding:14px}.freaky-main{gap:18px;align-items:center}.freaky-wheel-card,.freaky-controls{width:100%;max-width:480px;margin:0 auto}.freaky-controls{text-align:center}.freaky-setup{align-items:center;text-align:center}.freaky-setup-label{align-items:center;justify-content:center}.freaky-setup-buttons{justify-content:center;width:100%;flex-wrap:wrap}.freaky-buttons{justify-content:center}.freaky-spin-button{display:block;margin-left:auto;margin-right:auto}}.wiki-list-container{display:flex;flex-direction:column;gap:16px}.wiki-list-title{margin:0;font-size:22px;color:#2c1d26}.wiki-search-bar input{width:100%;padding:12px 16px;border-radius:999px;border:1px solid #e9d7e5;background:#fff9fe;font-size:15px;outline:none}.wiki-search-bar input:focus{border-color:#d69ee5;box-shadow:0 0 0 2px #d69ee533}.wiki-no-results{text-align:center;color:#6e4e6d;padding:20px 0}.wiki-detail-header{display:flex;justify-content:space-between;align-items:center}.wiki-favorite-star{font-size:28px;color:#ccc;cursor:pointer;margin-left:12px;transition:color .2s;-webkit-user-select:none;user-select:none}.wiki-favorite-star.active{color:#f1c40f}.wiki-view-info{display:flex;flex-direction:column;gap:12px}.wiki-detail-link{color:#e35a9f;text-decoration:none;font-weight:600;display:inline-block}.wiki-detail-link:hover{text-decoration:underline}.wiki-btn{padding:10px 16px;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:opacity .2s}.wiki-btn:hover{opacity:.9}.wiki-btn.edit{background:#f0f0f0;color:#555;align-self:flex-start}.wiki-edit-form{display:flex;flex-direction:column;gap:12px;background:#fff9fe;padding:16px;border-radius:16px;border:1px solid #f1d7e5}.wiki-edit-form label{font-weight:600;color:#5d3150;font-size:14px}.wiki-edit-textarea,.wiki-edit-input{width:100%;border-radius:12px;border:1px solid #e9d7e5;padding:12px;font-size:14px;font-family:inherit;outline:none}.wiki-edit-textarea{min-height:100px;resize:vertical}.wiki-edit-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.wiki-btn.cancel{background:transparent;color:#6e4e6d;border:1px solid #e9d7e5}.wiki-btn.save{background:linear-gradient(135deg,#ff99c5,#e35a9f);color:#fff}.wiki-btn-back{background:transparent;border:none;color:#6e4e6d;cursor:pointer;font-weight:600;padding:12px 0;align-self:flex-start}.wiki-btn-back:hover{color:#2c1d26}body.freaky-body-override{background:linear-gradient(145deg,#120008,#2a0014)!important;color:#ffe6f0}.freaky-page.dark-mode{background:transparent;color:#ffe6f0;min-height:100vh}.dark-mode .freaky-title{color:#f36}.dark-mode .freaky-description,.dark-mode .back-button{color:#f9b}.dark-card{background:#1a000d;border-color:#33001a;box-shadow:0 18px 44px #00000080}.dark-controls{background:transparent}.freaky-setup{background:#200010;border:1px solid #4d0026;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:14px}.freaky-setup-label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#ffb3d1}.freaky-number-input{background:#120008;border:1px solid #660033;color:#fff;padding:10px;border-radius:10px;font-size:16px;outline:none}.freaky-setup-buttons{display:flex;gap:10px}.freaky-setup-btn{flex:1;padding:12px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:opacity .2s}.freaky-setup-btn:hover{opacity:.8}.freaky-setup-btn.set{background:#4a0080;color:#fff}.freaky-setup-btn.fav{background:maroon;color:#fff}.dark-winner{background:#2a0014;border-color:#4d0026;color:#f36}.freaky-history{background:#1a000d;border:1px solid #33001a;border-radius:20px;padding:16px}.freaky-history h3{margin:0 0 12px;font-size:18px;color:#f9b}.freaky-history-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.freaky-history-list::-webkit-scrollbar{width:6px}.freaky-history-list::-webkit-scrollbar-thumb{background:#4d0026;border-radius:10px}.freaky-history-item{display:flex;align-items:center;gap:10px;background:#260013;padding:8px;border-radius:10px;cursor:pointer;transition:background .2s}.freaky-history-item:hover{background:#33001a}.freaky-history-item img{width:40px;height:40px;border-radius:8px;object-fit:cover}.freaky-history-info{display:flex;flex-direction:column}.freaky-history-title{font-weight:600;font-size:14px}.freaky-history-time{font-size:12px;color:#b36688}.freaky-winner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.freaky-winner-card{background:#1a000d;border:2px solid #ff3366;border-radius:24px;padding:24px;width:90%;max-width:320px;text-align:center;position:relative;box-shadow:0 0 40px #f366;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.freaky-winner-close{position:absolute;top:10px;right:10px;background:transparent;border:none;color:#f9b;font-size:20px;cursor:pointer}.freaky-winner-title{color:#fff;margin:0 0 16px}.freaky-winner-image-container{position:relative;border-radius:16px;overflow:hidden;cursor:pointer}.freaky-winner-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.freaky-winner-overlay-text{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:8px;font-size:14px;font-weight:700;opacity:0;transition:opacity .2s}.freaky-winner-image-container:hover .freaky-winner-overlay-text{opacity:1}.freaky-winner-name{margin:16px 0 0;color:#ffb3d1;font-size:20px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.freaky-action-icons{display:inline-flex;align-items:center;gap:10px}.freaky-action-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:22px;line-height:1;color:#555;cursor:pointer;transition:color .2s,transform .2s;-webkit-user-select:none;user-select:none;flex-shrink:0}.freaky-action-icon:hover{transform:scale(1.1)}.freaky-action-icon.fav:hover{color:#888}.freaky-action-icon.fav.active{color:#f1c40f}.freaky-action-icon.dislike:hover{color:#f36}.freaky-action-icon.dislike.active{color:#f03}.dark-wiki-modal{background:#111;border:4px solid #000;color:#eee}.dark-wiki-modal .wiki-close{color:#aaa}.dark-wiki-modal .wiki-list-title,.dark-wiki-modal .wiki-detail-title{color:#fff}.dark-wiki-modal .wiki-search-bar input{background:#222;border-color:#444;color:#fff}.dark-wiki-modal .wiki-item{background:#1a1a1a;border-color:#333}.dark-wiki-modal .wiki-item:hover{background:#2a2a2a}.dark-wiki-modal .wiki-item-title{color:#ddd}.dark-wiki-modal .wiki-detail-description{color:#bbb}.wiki-fav-toggle{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:8px;cursor:pointer;color:#ccc}.wiki-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.wiki-filter-pills{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.wiki-filter-pill{background:#222;border:1px solid #444;color:#aaa;border-radius:20px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s ease}.wiki-filter-pill:hover{background:#333;color:#fff}.wiki-filter-pill.active{background:#8a2be2;border-color:#8a2be2;color:#fff}.wiki-list-icons{display:flex;gap:12px;align-items:center;margin-left:auto}.wiki-detail-video{width:100%;max-width:400px;border-radius:16px;margin:14px auto;display:block;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #8a2be226}.freaky-roulette-action-btn{display:block;width:100%;margin-top:10px;padding:10px 18px;border:none;border-radius:14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.freaky-roulette-action-btn.add{background:linear-gradient(135deg,#8a2be2,#b5179e);color:#fff}.freaky-roulette-action-btn.add:hover{filter:brightness(1.15)}.freaky-roulette-action-btn.remove{background:#ff336626;color:#f36;border:1px solid rgba(255,51,102,.3)}.freaky-roulette-action-btn.remove:hover{background:#ff336640}.freaky-mode-toggles{display:flex;justify-content:center;gap:12px;margin-top:14px}.freaky-mode-pill{padding:8px 16px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#aaa;font-size:13px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;display:flex;align-items:center}.freaky-mode-pill input{display:none}.freaky-mode-pill:hover{background:#ffffff1a;color:#fff}.freaky-mode-pill.active{background:linear-gradient(135deg,#8a2be2,#b5179e);color:#fff;border-color:transparent;box-shadow:0 4px 15px #8a2be24d}.wiki-rating-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:16px;margin-bottom:8px}.wiki-tried-pill{padding:8px 24px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ccc;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.wiki-tried-pill input{display:none}.wiki-tried-pill:hover{background:#ffffff1a}.wiki-tried-pill.active{background:#32cd3233;color:#32cd32;border-color:#32cd32;box-shadow:0 0 12px #32cd324d}.wiki-stars-container{display:flex;gap:8px}.wiki-star{font-size:28px;color:#ffffff1a;cursor:pointer;transition:all .2s ease}.wiki-star:hover{transform:scale(1.1);color:#ffd70080}.wiki-star.filled{color:gold;text-shadow:0 0 10px rgba(255,215,0,.6)}@media (max-width: 600px){.freaky-setup{align-items:center;text-align:center}.freaky-setup-label{align-items:center;justify-content:center}.freaky-setup-buttons{justify-content:center;width:100%}.freaky-setup-btn.wiki{flex:0 0 auto;display:block;width:fit-content;min-width:200px;margin:0 auto}.freaky-buttons{flex-direction:column;align-items:center}.freaky-spin-button{display:block;width:fit-content;min-width:200px;margin:0 auto}.freaky-spin-hint{text-align:center}}.gym-track-app{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--color-cream);animation:fadeInScale .3s ease-out}.gym-content{flex:1;padding:12px;overflow-y:auto;max-width:800px;margin:0 auto;width:100%}@media (max-width: 400px){.gym-content{padding:8px}}.gym-fade-in{opacity:1;transform:translateY(0);transition:opacity .2s ease-out,transform .2s ease-out}.gym-fade-out{opacity:0;transform:translateY(10px);transition:opacity .2s ease-in,transform .2s ease-in}.gym-route-placeholder{display:flex;align-items:center;justify-content:center;height:50vh;font-family:Nunito,sans-serif;font-weight:700;font-size:24px;color:var(--color-text-muted);text-align:center;border:2px dashed var(--color-glass-border);border-radius:16px;padding-bottom:20px}.gym-search-input{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--color-glass-border, rgba(255,255,255,.4));background:var(--color-cream, white);font-family:Nunito,sans-serif;font-size:15px;color:var(--color-charcoal);outline:none;transition:border-color var(--transition-fast, .2s)}.gym-search-input:focus{border-color:var(--color-brown)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.gym-dashboard{display:flex;flex-direction:column;gap:20px}.gym-greeting{display:flex;align-items:center;justify-content:space-between;background:var(--color-brown-pale);padding:16px 20px;border-radius:20px;border:1px solid var(--color-glass-border)}.gym-greeting-text h1{font-size:24px;font-weight:800;color:var(--color-charcoal);margin-bottom:4px}.gym-greeting-text p{font-size:15px;color:var(--color-text-light)}.gym-greeting-sticker{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(166,124,82,.2));animation:floatSticker 3s ease-in-out infinite}@keyframes floatSticker{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.gym-dashboard-xp{margin-bottom:8px}.gym-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gym-dashboard-grid.secondary,.gym-dashboard-grid.coach{grid-template-columns:repeat(2,1fr)}.gym-card{background:var(--color-warm-white);border-radius:16px;padding:16px;border:1px solid var(--color-glass-border);box-shadow:var(--shadow-soft);transition:all var(--transition-fast);cursor:pointer;display:flex;flex-direction:column;justify-content:center}.gym-card:active{transform:scale(.96)}.gym-card h3{font-size:13px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px;font-weight:800;letter-spacing:.5px}.gym-card-value{font-size:18px;font-weight:800;color:var(--color-brown)}.gym-card-value .trend{font-size:14px;margin-left:4px}.gym-card-next-workout{background:linear-gradient(135deg,var(--color-brown) 0%,var(--color-brown-light) 100%);color:#fff;border:none;align-items:flex-start}.gym-card-next-workout h3{color:#fffc}.gym-card-next-workout p{font-size:18px;font-weight:700;margin-bottom:16px}.gym-btn-primary{background:var(--color-cream);color:var(--color-brown);border:none;padding:10px 20px;border-radius:20px;font-family:Nunito,sans-serif;font-weight:800;font-size:15px;cursor:pointer;width:100%;box-shadow:0 4px 10px #0000001a;transition:transform var(--transition-fast)}.gym-btn-primary:active{transform:scale(.95)}.gym-coach-section{background:#e3a8a81a;border:2px dashed var(--color-rose);padding:16px;border-radius:20px;margin-top:8px}.gym-coach-section h2{font-size:16px;color:var(--color-red-deep);margin-bottom:12px}.coach-card{background:#fff;border-color:var(--color-rose-light)}.coach-card p{font-size:14px;font-weight:600;color:var(--color-charcoal)}.streak-active{background:linear-gradient(to bottom right,#fff,#fdf6f6);border-color:#fcc}.streak-resting{background:linear-gradient(to bottom right,#fff,#f0f8ff);border-color:#cce0ff}.streak-relaxation,.streak-lazy{background:linear-gradient(to bottom right,#fff,#eff6ff);border-color:#93c5fd}.gym-card-value-container{display:flex;align-items:center;justify-content:space-between}.gym-quick-add-btn{background:var(--color-brown-pale);color:var(--color-brown);border:1px solid var(--color-glass-border);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:800;cursor:pointer;transition:all var(--transition-fast)}.gym-quick-add-btn:active{transform:scale(.9);background:var(--color-brown);color:#fff}.gym-coach-quick-access{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--color-brown),var(--color-charcoal));color:#fff;padding:16px 24px;border-radius:16px;cursor:pointer;font-weight:800;font-size:18px;box-shadow:0 6px 20px #00000026;transition:transform .2s,box-shadow .2s}.gym-coach-quick-access:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.gym-coach-quick-access:active{transform:scale(.97)}.gym-coach-quick-arrow{font-size:24px}@media (max-width: 600px){.gym-dashboard-grid,.gym-dashboard-grid.secondary{grid-template-columns:1fr}}.xp-bar-container{display:flex;align-items:center;gap:16px;background:#fffdf9cc;border:2px solid var(--color-glass-border);padding:12px 16px;border-radius:16px;box-shadow:inset 0 2px 10px #a67c520d}.xp-level-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#a8e6cf,#5ee6b3);border:3px solid #2C9E74;border-radius:8px;box-shadow:0 4px #207d5a,0 8px 12px #5ee6b366;transform:rotate(-3deg)}.xp-level-number{font-family:Courier New,Courier,monospace;font-weight:900;font-size:20px;color:#fff;text-shadow:2px 2px 0 #207D5A}.xp-bar-wrapper{flex:1;display:flex;flex-direction:column;gap:6px}.xp-bar-track{position:relative;height:18px;background:#3b3430;border:2px solid #1E1A18;border-radius:4px;overflow:hidden;box-shadow:inset 0 2px 4px #00000080,0 2px #fff3}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#5ee6b3,#a8e6cf);border-right:2px solid #2C9E74;transition:width 1s cubic-bezier(.34,1.56,.64,1);position:relative}.xp-bar-shine{position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,#fff6,#ffffff1a)}.xp-bar-segments{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;pointer-events:none}.xp-bar-segment-line{width:2px;height:100%;background:#1e1a184d}.xp-text-info{display:flex;justify-content:space-between;font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700;color:var(--color-text-light);text-transform:uppercase}.gym-skeleton{animation:gymPulse 1.5s infinite ease-in-out;border-radius:16px;background-color:#e3a8a826}@keyframes gymPulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.gym-skeleton-card{padding:16px;display:flex;flex-direction:column;gap:12px;min-height:80px}.gym-skeleton-line{height:14px;border-radius:8px;background-color:#a67c5226}.gym-skeleton-line.title{width:60%;height:18px}.gym-skeleton-line.content{width:90%;height:24px;border-radius:12px}.gym-skeleton-line.text-full{width:100%}.gym-skeleton-box{background-color:#a67c5226;border-radius:12px}.gym-skeleton-box.xp-bar{width:100%;height:60px;border-radius:16px}.gym-weekly-calendar{display:flex;justify-content:space-between;align-items:center;background:var(--color-warm-white, #fffdf9);border-radius:16px;padding:1rem;margin-top:1rem;border:1px solid var(--color-glass-border, rgba(166, 124, 82, .15));box-shadow:var(--shadow-soft, 0 4px 12px rgba(0, 0, 0, .06))}.gym-calendar-day{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.75;transition:all .3s ease}.gym-calendar-day.today,.gym-calendar-day.state-workout,.gym-calendar-day.state-relaxation{opacity:1}.gym-calendar-day-name{font-size:.65rem;text-transform:uppercase;color:var(--color-text-muted, #888);font-weight:800;letter-spacing:.02em}.gym-calendar-day-circle{width:36px;height:36px;border-radius:50%;background:var(--color-brown-pale, #f5efe8);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;color:var(--color-charcoal, #333);border:2px solid transparent}.gym-calendar-day.state-workout .gym-calendar-day-circle{background:#fef08a;border-color:#eab308;color:#713f12;box-shadow:0 0 0 2px #eab30840}.gym-calendar-day.state-rest .gym-calendar-day-circle{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.gym-calendar-day.state-relaxation .gym-calendar-day-circle{background:#dbeafe;border-color:#3b82f6;color:#1e40af;box-shadow:0 0 0 2px #3b82f633}.gym-calendar-day.today .gym-calendar-day-circle{outline:2px solid var(--color-charcoal, #2d2d2d);outline-offset:2px}.gym-calendar-day.today.state-workout .gym-calendar-day-circle{outline-color:#ca8a04}@media (max-width: 480px){.gym-calendar-day-name{font-size:.55rem}.gym-calendar-day-circle{width:32px;height:32px;font-size:.8rem}}.gym-weight-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.gym-weight-modal-content{background:var(--color-warm-white, #FFFDF9);padding:24px;border-radius:20px;width:90%;max-width:350px;box-shadow:0 10px 40px #0003;border:1px solid var(--color-glass-border, rgba(255,255,255,.4));animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.gym-weight-modal-header{display:flex;justify-content:center;align-items:center;margin-bottom:16px;position:relative}.gym-weight-modal-header h2{font-size:20px;color:var(--color-brown, #5c4033);margin:0;text-align:center}.gym-weight-modal-close{position:absolute;right:0;background:none;border:none;font-size:28px;color:var(--color-text-muted, #8c7b70);cursor:pointer;line-height:1}.gym-weight-modal-form p{font-size:14px;color:var(--color-text-light, #7a6b63);margin-bottom:20px;line-height:1.4;text-align:center}.gym-weight-input-group{display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--color-brown-pale, #e8dfd8);border-radius:12px;padding:10px 14px;margin-bottom:22px}.gym-weight-input-group:focus-within{border-color:var(--color-brown, #5c4033)}.gym-weight-input-group input{border:none;outline:none;font-size:20px;font-weight:700;color:var(--color-charcoal, #333);text-align:center;background:transparent;width:100px}.gym-weight-unit{font-size:20px;color:var(--color-text-muted, #8c7b70);font-weight:600;margin-left:8px}.gym-weight-save-btn{width:100%;padding:12px;font-size:16px;background:var(--color-brown, #5c4033);color:#fff}.gym-header{position:sticky;top:0;z-index:100;background:var(--color-brown-pale);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--color-glass-border);box-shadow:0 4px 15px #a67c520d}.gym-back-btn{background:#fff9;border:1px solid var(--color-glass-border);padding:8px 16px;border-radius:20px;font-family:Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--color-brown);cursor:pointer;transition:all var(--transition-fast);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.gym-back-btn:hover{background:var(--color-brown);color:var(--color-cream);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.gym-header-title{display:flex;align-items:center;gap:8px;font-family:Nunito,sans-serif;font-weight:800;font-size:18px;color:var(--color-charcoal);background:#fffdf980;padding:6px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.5)}.gym-header-emoji{font-size:16px}.gym-exercise-lib{display:flex;flex-direction:column;gap:20px}.gym-lib-header p{color:var(--color-brown);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.gym-lib-header h2{color:var(--color-charcoal);font-size:28px;font-weight:800}.gym-lib-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gym-lib-create-btn{padding:10px 16px;font-size:14px;white-space:nowrap}.gym-filter-custom-toggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--color-charcoal);padding:10px 12px;border-radius:10px;border:1px solid var(--color-glass-border);background:var(--color-cream);cursor:pointer;flex:0 0 auto}.gym-filter-custom-toggle input{accent-color:var(--color-brown)}.gym-custom-ex-form{display:flex;flex-direction:column;gap:14px}.gym-config-field{display:flex;flex-direction:column;gap:6px}.gym-config-field label{font-size:13px;font-weight:700;color:var(--color-charcoal)}.gym-custom-desc{resize:vertical;min-height:72px;font-family:Nunito,sans-serif}.gym-custom-preview-img{width:100%;max-height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--color-glass-border)}.gym-custom-ex-actions{display:flex;gap:10px;margin-top:8px}.gym-custom-ex-actions .gym-btn-primary,.gym-custom-ex-actions .gym-btn-secondary,.gym-custom-ex-actions .gym-btn-danger{flex:1;padding:10px 14px;font-size:14px}.gym-btn-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:12px;font-weight:700;cursor:pointer}.gym-tag.custom{background:#a67c5226;color:var(--color-brown)}.gym-lib-filters{display:flex;flex-direction:column;gap:12px;background:var(--color-warm-white);padding:16px;border-radius:16px;border:1px solid var(--color-glass-border);box-shadow:var(--shadow-soft)}.gym-filter-row{display:flex;gap:12px;flex-wrap:wrap}.gym-filter-row select{flex:1 1 200px;min-width:160px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-glass-border);background:var(--color-cream);font-family:Nunito,sans-serif;font-size:14px;color:var(--color-charcoal);outline:none}.gym-lib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.gym-lib-empty-wrapper{grid-column:1 / -1;display:flex;justify-content:center;padding:40px 0}.gym-exercise-lib{max-width:1200px;width:100%}.gym-lib-load-more{display:flex;justify-content:center;margin-top:24px}.gym-modal-content{background:var(--color-warm-white, #FFFDF9);padding:24px;border-radius:20px;width:90%;max-width:450px;max-height:85vh;overflow-y:auto;box-shadow:0 10px 40px #0003;border:1px solid var(--color-glass-border, rgba(255,255,255,.4));animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.gym-modal-header h2{font-size:22px;color:var(--color-charcoal);margin:0;line-height:1.2}.gym-exercise-details{display:flex;flex-direction:column;gap:16px}.gym-exercise-gif{width:100%;border-radius:12px;object-fit:cover;border:1px solid var(--color-glass-border)}.gym-exercise-no-media{width:100%;height:200px;background:var(--color-brown-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-weight:600}.gym-exercise-tags{display:flex;flex-wrap:wrap;gap:8px}.gym-tag{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:800;text-transform:capitalize}.gym-tag.muscle{background:#e3a8a833;color:var(--color-red-deep)}.gym-tag.equipment{background:#a67c521a;color:var(--color-brown)}.gym-tag.difficulty{background:#f0f8ff;color:#06c}.gym-exercise-instructions h3{font-size:16px;color:var(--color-charcoal);margin-bottom:8px}.gym-exercise-instructions p{font-size:14px;color:var(--color-text-light);line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.gym-lib-grid{grid-template-columns:1fr}}.gym-exercise-card{background:var(--color-warm-white);border:1px solid var(--color-glass-border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft);transition:all var(--transition-normal);cursor:pointer;display:flex;flex-direction:column}.gym-exercise-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:#a67c524d}.gym-exercise-image-container{height:140px;background:var(--color-brown-pale);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.gym-exercise-image-container img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gym-exercise-card:hover .gym-exercise-image-container img{transform:scale(1.05)}.gym-exercise-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;background:linear-gradient(135deg,var(--color-brown-pale) 0%,var(--color-rose-pale) 100%);color:var(--color-brown);opacity:.8}.gym-exercise-badge.custom{background:#a67c52eb;color:#fff}.gym-exercise-badge{position:absolute;top:10px;right:10px;background:#ffffffe6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:4px 10px;border-radius:12px;font-size:11px;font-weight:800;color:var(--color-charcoal);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0000001a}.gym-exercise-info{padding:16px;display:flex;flex-direction:column;flex:1}.gym-exercise-info h4{font-size:16px;font-weight:800;color:var(--color-charcoal);margin-bottom:6px;line-height:1.2}.gym-exercise-desc{font-size:13px;color:var(--color-text-light);margin-bottom:12px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gym-exercise-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.gym-exercise-tags .tag{font-size:11px;font-weight:700;padding:4px 8px;border-radius:8px}.tag.muscle{background:var(--color-rose-pale);color:var(--color-red-deep)}.tag.equipment{background:var(--color-brown-pale);color:var(--color-brown)}.gym-exercise-card-actions{position:absolute;bottom:10px;left:10px;display:flex;gap:6px}.gym-card-action-btn{width:32px;height:32px;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gym-card-action-btn.edit{background:#ffffffeb;color:var(--color-brown)}.gym-card-action-btn.delete{background:#ef4444eb;color:#fff}.gym-card-action-btn:hover{transform:scale(1.1)}.gym-card-action-btn.edit:hover{background:var(--color-brown);color:#fff}.gym-card-action-btn.delete:hover{background:#dc2626}.gym-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;opacity:.8;animation:fadeIn .4s ease-out}.gym-empty-img{width:120px;height:120px;object-fit:contain;margin-bottom:20px;filter:drop-shadow(0 8px 15px rgba(166,124,82,.2))}.gym-empty-text h4{font-family:Nunito,sans-serif;font-weight:800;font-size:18px;color:var(--color-charcoal);margin-bottom:8px}.gym-empty-text p{font-size:14px;color:var(--color-text-muted)}.gym-coach-panel{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.gym-coach-header{background:var(--color-brown);color:var(--color-warm-white);padding:24px;border-radius:20px;box-shadow:var(--shadow-medium)}.gym-coach-header h2{font-size:24px;font-weight:800;margin-bottom:8px}.gym-coach-header p{color:#fffc;font-size:15px}.gym-coach-mirror-section{background:var(--color-brown-pale);padding:16px 20px;border-radius:16px;border:1px solid var(--color-glass-border)}.gym-coach-mirror-label{display:flex;align-items:center;gap:16px}.gym-coach-mirror-avatar{width:50px;height:50px;object-fit:contain}.gym-coach-mirror-label h3{margin:0 0 4px;color:var(--color-charcoal);font-size:18px}.gym-coach-mirror-label p{margin:0;color:var(--color-text-muted);font-size:13px}.gym-admin-editable-card{position:relative;background:var(--color-warm-white);border:1px solid var(--color-glass-border);border-radius:16px;padding:16px}.gym-admin-edit-badge{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-brown-pale);border-radius:50%;cursor:pointer;font-size:14px;z-index:5;transition:transform .2s,background .2s;border:1px solid var(--color-glass-border)}.gym-admin-edit-badge:hover{transform:scale(1.15);background:var(--color-brown)}.gym-inline-edit{margin-top:12px;padding-top:12px;border-top:1px dashed var(--color-glass-border);animation:slideDown .2s ease}.gym-inline-edit-row{display:flex;gap:12px}.gym-inline-edit-row .gym-config-field{flex:1}.gym-inline-edit-actions{display:flex;gap:12px;margin-top:12px}.gym-inline-edit-actions .gym-btn-primary{flex:1}.gym-config-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.gym-config-field label{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.gym-coach-section h3{font-size:18px;font-weight:800;color:var(--color-charcoal);margin-bottom:4px}.gym-coach-desc{font-size:14px;color:var(--color-text-light);margin-bottom:16px}.gym-card-notice{background:var(--color-warm-white);border:1px solid var(--color-glass-border);border-radius:20px;padding:20px;box-shadow:var(--shadow-medium)}.gym-card-notice h3{margin:0 0 .5rem;font-size:18px}.gym-card-notice p{margin:0 0 1rem;color:var(--color-text-muted)}.gym-textarea{width:100%;min-height:100px;border:1px solid var(--color-glass-border);border-radius:14px;padding:12px 14px;font-size:.95rem;font-family:Nunito,sans-serif;resize:vertical}.gym-notice-actions{margin-top:1rem;display:flex;justify-content:flex-start}.coach-actions{grid-template-columns:repeat(3,1fr)}.gym-coach-calendar-mini{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:16px;grid-column:span 1}.gym-coach-calendar-mini h4{margin:0 0 12px;font-size:14px;color:var(--color-brown)}@media (max-width: 700px){.coach-actions{grid-template-columns:1fr}.gym-coach-calendar-mini{grid-column:span 1}}.gym-action-desc{font-size:13px;color:var(--color-text-light);margin-bottom:16px;line-height:1.4;flex:1}.gym-btn-secondary{background:var(--color-brown-pale);color:var(--color-brown);border:1px solid var(--color-glass-border);padding:10px 20px;border-radius:20px;font-family:Nunito,sans-serif;font-weight:700;font-size:14px;cursor:pointer;width:100%;transition:all var(--transition-fast)}.gym-btn-secondary:hover:not(:disabled){background:var(--color-glass-border)}.gym-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.gym-bonus-btn{background:linear-gradient(135deg,#ff758f,#ff4d6d)!important;color:#fff!important;border:none!important}.gym-coach-panel .gym-card{position:relative;cursor:pointer}.gym-coach-panel .gym-card:hover{transform:translateY(-2px);transition:transform .2s ease}.gym-card-value-container{display:flex;align-items:center;justify-content:space-between;gap:12px}.gym-coach-panel .gym-card-history{min-height:180px}.gym-relaxation-alert{background:linear-gradient(135deg,#dbeafe,#eff6ff);border:1px solid #3b82f6;border-radius:16px;padding:14px 18px;color:#1e3a8a;font-size:14px;font-weight:700;line-height:1.45}.gym-relaxation-alert strong{display:block;font-size:15px;margin-bottom:4px}@media (max-width: 600px){.coach-actions{grid-template-columns:1fr}.gym-inline-edit-row{flex-direction:column}}.gym-coach-notice-preview{display:flex;flex-direction:column;gap:16px;margin-top:24px}.gym-coach-panel-section-header h3{margin:0;font-size:18px}.gym-coach-panel-section-header p{margin:6px 0 0;color:var(--color-text-muted);font-size:14px}.gym-coach-notice-thread{border:1px solid var(--color-glass-border);border-radius:20px;padding:18px;background:var(--color-warm-white)}.gym-coach-notice-thread-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.gym-coach-notice-thread-header strong{display:block;font-size:16px;margin-bottom:6px}.gym-coach-notice-thread-header p{margin:0;color:var(--color-text-muted);line-height:1.6}.gym-coach-notice-thread-meta{color:var(--color-text-light);font-size:12px}.gym-coach-notice-thread-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.gym-coach-delete-notice-btn{width:28px;height:28px;border:none;border-radius:50%;background:#fef2f2;color:#dc2626;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.gym-coach-delete-notice-btn:hover{background:#dc2626;color:#fff}.gym-coach-notice-thread-replies{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.gym-coach-reply-row{border-radius:16px;background:#f8fafc;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.gym-coach-reply-row p{margin:4px 0 0;color:var(--color-text-muted)}.gym-coach-reply-author{display:inline-block;font-weight:700;font-size:13px;margin-bottom:4px}.gym-coach-empty-thread{margin:0;color:var(--color-text-light)}.gym-coach-reply-form{display:flex;flex-direction:column;gap:10px}.gym-coach-reply-form textarea{width:100%;min-height:90px;border:1px solid var(--color-glass-border);border-radius:16px;padding:12px 14px;font-family:Nunito,sans-serif;font-size:.95rem;resize:vertical}.gym-coach-reply-form button{width:fit-content}.gym-empty-state{color:var(--color-text-light);padding:16px;border:1px dashed var(--color-glass-border);border-radius:18px;background:var(--color-warm-white)}.gym-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background:var(--color-warm-white);border:1px solid var(--color-glass-border);box-shadow:var(--shadow-medium);padding:12px 20px;border-radius:30px;display:flex;align-items:center;gap:12px;z-index:1000;opacity:0;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.gym-toast.show{transform:translate(-50%) translateY(0);opacity:1}.gym-toast.hide{transform:translate(-50%) translateY(20px);opacity:0}.gym-toast-icon{font-size:18px}.gym-toast-message{font-family:Nunito,sans-serif;font-weight:700;font-size:14px;color:var(--color-charcoal)}.gym-toast-success{border-color:#a8e6cf;background:#f0fff4}.gym-toast-error{border-color:#ff8b94;background:#fff0f0}.gym-toast-info{border-color:#a2d5f2;background:#f0f8ff}.gym-toast-xp{border-color:gold;background:#fffbe6}.gym-coach-plan-editor{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.gym-editor-nav{display:flex;margin-bottom:-10px}.gym-editor-nav .gym-btn-secondary{width:auto;border-radius:20px}.gym-plan-actions{margin-bottom:16px}.gym-plan-create-form{background:#fff;padding:20px;border-radius:16px;border:1px solid var(--color-glass-border);margin-bottom:20px}.gym-plan-create-form h3{margin:0 0 16px;color:var(--color-charcoal)}.slide-down{animation:slideDown .2s ease}.gym-file-input{width:100%;padding:8px;border:1px dashed var(--color-glass-border);border-radius:8px;background:#f8fafc;cursor:pointer}.gym-image-preview-list{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.gym-image-preview{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--color-glass-border)}.gym-image-preview img{width:100%;height:100%;object-fit:cover}.gym-image-preview button{position:absolute;top:4px;right:4px;background:#0009;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.gym-plan-list{display:flex;flex-direction:column;gap:16px}.gym-plan-card{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.gym-plan-card-images{display:flex;gap:8px;overflow-x:auto}.plan-capa-mini{width:60px;height:60px;border-radius:8px;object-fit:cover}.plan-capa-placeholder{width:60px;height:60px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:10px;color:#94a3b8;text-align:center}.gym-plan-card-info h3{margin:0 0 4px;font-size:18px}.gym-plan-card-info p{margin:0;font-size:14px;color:var(--color-text-muted)}.gym-plan-card-actions{display:flex;flex-direction:column;gap:12px;border-top:1px dashed var(--color-glass-border);padding-top:16px}.plan-assign-group{display:flex;gap:8px}.plan-assign-group .gym-btn-secondary{flex:1}.btn-bubu{background:#fdf2f8!important;color:#db2777!important;border-color:#fbcfe8!important}.btn-dudu{background:#eff6ff!important;color:#2563eb!important;border-color:#bfdbfe!important}.gym-btn-danger-icon{background:transparent;border:none;font-size:20px;cursor:pointer;align-self:flex-end;padding:8px;opacity:.7;transition:opacity .2s}.gym-btn-danger-icon:hover{opacity:1}.gym-plan-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.gym-plan-day-card{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.gym-plan-day-card:hover:not(.add-new){transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.day-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-card-header h4{margin:0;color:var(--color-charcoal);font-size:16px}.day-delete-btn{background:transparent;border:none;color:#ef4444;font-size:20px;cursor:pointer;opacity:.6}.day-quote{font-style:italic;color:var(--color-text-muted);font-size:13px;margin:0 0 16px;line-height:1.4}.day-meta{margin:0 0 16px;font-size:14px;font-weight:700;color:var(--color-brown)}.day-card-indicator{margin-top:auto;font-size:13px;font-weight:700;color:var(--color-brown-light);text-align:right}.gym-plan-day-card.add-new{border:2px dashed var(--color-glass-border);background:transparent;justify-content:center;align-items:center;color:var(--color-brown);font-weight:700}.gym-plan-day-card.add-new:hover{background:#a67c520d}.create-day-actions{display:flex;gap:8px;margin-top:12px}.gym-day-exercises-list{display:flex;flex-direction:column;gap:12px}.gym-exercise-row{background:#fff;border:1px solid var(--color-glass-border);border-radius:12px;padding:12px;display:flex;align-items:center;gap:16px}.ex-row-image{width:50px;height:50px;border-radius:8px;overflow:hidden;background:#f1f5f9}.ex-row-image img{width:100%;height:100%;object-fit:cover}.ex-row-info{flex:1}.ex-row-info h4{margin:0 0 6px;font-size:15px}.ex-row-badges{display:flex;gap:8px;flex-wrap:wrap}.ex-badge-sets{background:#e2e8f0;color:#334155;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700}.ex-badge-rest{background:#f1f5f9;color:#64748b;padding:2px 8px;border-radius:12px;font-size:12px}.ex-badge-type{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;border:1px solid}.btn-add-ex{margin-top:16px}.gym-set-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gym-set-type-btn{padding:8px;border:1px solid var(--color-glass-border);border-radius:8px;text-align:center;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.gym-set-type-btn:hover{filter:brightness(.95)}.gym-config-cardio{background:#f8fafc;padding:16px;border-radius:12px;border:1px solid var(--color-glass-border);margin-top:16px}.gym-config-cardio h3{margin:0 0 12px;color:var(--color-brown);font-size:15px}.gym-config-sets{background:#f8fafc;padding:16px;border-radius:12px;border:1px solid var(--color-glass-border);margin-top:16px}.gym-config-sets h3{margin:0 0 12px;color:var(--color-brown);font-size:15px}.gym-sets-list{display:flex;flex-direction:column;gap:12px}.gym-set-config-row{display:grid;grid-template-columns:minmax(40px,auto) minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) 40px;align-items:end;gap:8px;background:#fff;padding:12px;border-radius:8px;border:1px solid var(--color-glass-border);width:100%}.gym-set-config-row .gym-config-field{min-width:0}.gym-set-config-row .gym-search-input{width:100%}.gym-btn-danger-icon{min-width:40px}.gym-set-config-row{display:flex;align-items:flex-end;gap:8px;background:#fff;padding:12px;border-radius:8px;border:1px solid var(--color-glass-border);flex-wrap:wrap}.gym-set-config-row .gym-config-field{flex:1;min-width:72px}.gym-set-config-row .gym-config-field:nth-child(2){flex:1.2;min-width:90px}.gym-set-config-row .gym-search-input{min-width:0}.set-num-label{font-weight:800;color:var(--color-brown);font-size:16px;width:24px}.gym-exercise-row-detailed{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.ex-row-header{display:flex;justify-content:space-between;align-items:center}.ex-row-header-title{display:flex;align-items:center;gap:12px}.ex-row-num{font-size:16px;font-weight:800;color:var(--color-text-muted)}.ex-row-config{display:flex;flex-direction:column;gap:8px;padding-left:36px}.config-cardio-badge{background:#eff6ff;color:#2563eb;padding:8px 12px;border-radius:8px;font-weight:700;font-size:14px;display:inline-block;align-self:flex-start}.config-set-badge{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:6px 12px;border-radius:8px;font-size:13px;border:1px solid var(--color-glass-border)}.cfg-num{font-weight:800;color:var(--color-text-muted)}.cfg-reps{font-weight:700;color:var(--color-charcoal)}.cfg-rest{color:var(--color-text-light)}.cfg-type{font-weight:700;margin-left:auto}.gym-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.gym-modal-content{background:var(--color-warm-white, #fffdf9);padding:24px;border-radius:20px;width:min(96vw,480px);max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 10px 40px #0003;border:1px solid var(--color-glass-border);animation:slideUpModal .3s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 640px){.gym-modal-content{padding:18px;border-radius:16px}.gym-plan-picker-toolbar,.gym-config-fields,.gym-ex-row-config,.gym-config-actions,.gym-plan-card-actions,.plan-assign-group,.day-card-header,.gym-plan-day-card,.gym-picker-item,.gym-set-config-row,.gym-exercise-row-detailed{gap:10px}.gym-picker-item,.gym-set-config-row,.gym-exercise-row-detailed,.gym-plan-card,.gym-plan-day-card,.gym-config-cardio,.gym-config-sets{padding:14px}.gym-plan-picker-toolbar{flex-direction:column}.gym-plan-picker-create-btn,.gym-search-input,.gym-config-field select,.gym-config-field input,.gym-config-field textarea{width:100%}.gym-set-config-row{grid-template-columns:1fr;align-items:stretch}.gym-set-config-row .gym-config-field,.gym-set-config-row button{width:100%}.gym-ex-row-header{flex-direction:column;align-items:stretch}.ex-row-header-title{width:100%}.ex-row-image{width:60px;height:60px}.gym-plan-days-grid{grid-template-columns:1fr}.gym-plan-card{padding:16px}.gym-config-actions{flex-direction:column}.gym-config-actions button{width:100%}}.gym-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.gym-modal-header h2{font-size:20px;color:var(--color-charcoal);margin:0;line-height:1.2;padding-right:8px}.gym-modal-close{background:none;border:none;font-size:28px;color:var(--color-text-muted);cursor:pointer;line-height:1}.gym-plan-picker-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.gym-plan-picker-create-btn{width:100%}.gym-plan-picker-search{width:100%;box-sizing:border-box}.gym-plan-picker-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}.gym-plan-picker-empty{text-align:center;color:var(--color-text-muted);font-size:14px;padding:16px}.gym-picker-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-glass-border);border-radius:12px;cursor:pointer;background:#fff;transition:background .15s}.gym-picker-item:hover{background:var(--color-brown-pale, #f5efe8)}.gym-picker-item-actions{display:flex;gap:8px;align-items:center}.gym-picker-action-btn{border:1px solid var(--color-glass-border);background:#f8fafc;color:var(--color-charcoal);border-radius:10px;padding:6px 10px;cursor:pointer;font-size:13px}.gym-picker-action-btn.danger{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.gym-custom-image-preview{width:100%;max-height:180px;overflow:hidden;border-radius:12px;margin-bottom:10px}.gym-custom-image-preview img{width:100%;height:100%;object-fit:cover}.gym-picker-img{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f1f5f9}.gym-picker-img img{width:100%;height:100%;object-fit:cover}.gym-picker-img .no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-weight:700}.gym-picker-info h4{margin:0 0 4px;font-size:14px;color:var(--color-charcoal)}.gym-picker-info span{font-size:12px;color:var(--color-text-muted);text-transform:capitalize}.gym-cardio-toggle{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font-size:14px;font-weight:700;color:var(--color-charcoal);cursor:pointer}.gym-cardio-toggle input{margin-top:3px;width:18px;height:18px;accent-color:var(--color-brown)}.gym-plan-card-desc{font-size:13px;color:var(--color-text-light);margin:4px 0 8px;line-height:1.4}@keyframes slideUpModal{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.gym-drag-item{position:relative;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;touch-action:pan-y;user-select:none;-webkit-user-select:none}.gym-drag-item input,.gym-drag-item textarea,.gym-drag-item select{user-select:text;-webkit-user-select:text;touch-action:manipulation;pointer-events:auto}.gym-drag-item-dragging{opacity:.92;transform:scale(1.03);box-shadow:0 14px 32px #00000038;z-index:50;cursor:grabbing!important;background:#fff}.gym-drag-item-over{transform:translateY(-4px)}.gym-drag-item-over:before{content:"";position:absolute;top:-4px;left:8px;right:8px;height:4px;background:var(--color-brown, #8b5e3c);border-radius:2px;z-index:1}.gym-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:6px;color:var(--color-text-muted, #6b7280);cursor:grab;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;transition:background .15s ease,color .15s ease}.gym-drag-handle:hover{background:var(--color-glass-border, rgba(0, 0, 0, .06));color:var(--color-brown, #8b5e3c)}.gym-drag-handle:active{cursor:grabbing;background:var(--color-brown-pale, #f5e6d8);color:var(--color-brown, #8b5e3c)}.gym-drag-handle svg{width:18px;height:18px;pointer-events:none}.gym-drag-hint{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted, #9ca3af);font-style:italic;margin-top:4px;margin-left:4px}@media (max-width: 600px){.gym-drag-hint{display:none}}.gym-plan-view{display:flex;flex-direction:column;gap:20px;padding-bottom:32px}.gym-plan-view-header h2{margin:0 0 8px;color:var(--color-charcoal);font-size:24px}.gym-plan-view-desc{margin:0;color:var(--color-text-light);line-height:1.55;font-size:15px}.gym-plan-view-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.gym-plan-view-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--color-glass-border)}.gym-plan-view-image-btn{padding:0;border:0;background:transparent;cursor:zoom-in}.gym-plan-image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172ad1;cursor:zoom-out}.gym-plan-image-lightbox img{max-width:min(100%,980px);max-height:88vh;object-fit:contain;border-radius:18px;box-shadow:0 20px 60px #00000059;cursor:default}.gym-plan-image-close{position:fixed;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--color-charcoal);font-size:28px;line-height:1;cursor:pointer}.gym-plan-view-meta{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.gym-plan-view-meta-row{display:flex;flex-direction:column;gap:4px}.gym-plan-view-meta-row .label{font-size:11px;text-transform:uppercase;font-weight:800;color:var(--color-text-muted);letter-spacing:.04em}.gym-plan-view-meta-row .value{font-size:15px;font-weight:700;color:var(--color-charcoal)}.gym-plan-view-meta-row .value small{display:block;font-weight:600;font-size:13px;color:var(--color-text-light);margin-top:4px;text-transform:capitalize}.gym-plan-view-days h3{font-size:16px;margin:0 0 12px;color:var(--color-brown)}.gym-plan-view-days ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.gym-plan-view-days li{background:#fff;border:1px solid var(--color-glass-border);border-radius:12px;padding:12px 14px;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gym-plan-view-days .ex-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--color-text-muted)}.gym-workout-session{display:flex;flex-direction:column;height:100%}.gym-workout-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:16px;height:60vh}.gym-workout-empty h2{color:var(--color-charcoal);margin:0}.gym-workout-empty p{color:var(--color-text-muted)}.gym-workout-setup{padding:20px;display:flex;flex-direction:column;gap:24px}.gym-workout-header h2{margin:0 0 8px;color:var(--color-charcoal)}.gym-workout-header p{margin:0;color:var(--color-text-muted)}.gym-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:12px}.gym-day-card{background:#fff;border:2px solid transparent;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000d}.gym-day-card:hover{transform:translateY(-2px)}.gym-day-card.selected{border-color:var(--color-brown);background:#a67c520d}.gym-day-card h4{margin:0 0 8px;font-size:16px;color:var(--color-charcoal)}.gym-day-card p{margin:0;font-size:14px;color:var(--color-text-muted)}.gym-day-quote{margin-top:8px!important;font-style:italic;font-size:13px!important;color:var(--color-brown)!important}.gym-workout-daily-limit{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--color-brown)}.gym-workout-plan-info{background:#fff;border:1px solid var(--color-glass-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.gym-workout-plan-desc{margin:0;font-size:15px;line-height:1.55;color:var(--color-charcoal)}.gym-workout-plan-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.gym-workout-plan-image-btn{border:none;padding:0;background:transparent;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.gym-workout-plan-image-btn:hover .gym-workout-plan-image{transform:scale(1.02)}.gym-workout-plan-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--color-glass-border);transition:transform .2s ease}.gym-plan-image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px}.gym-plan-image-lightbox img{max-width:100%;max-height:100%;border-radius:18px;box-shadow:0 20px 50px #00000080}.gym-plan-image-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:none;color:#111;font-size:24px;cursor:pointer;display:grid;place-items:center}.set-rest-hint{font-size:12px;color:var(--color-text-muted);margin-left:6px}.gym-start-big-btn{margin-top:auto;padding:16px;font-size:18px;border-radius:24px}.gym-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;display:flex;align-items:center;justify-content:center;padding:16px}.gym-exercise-picker,.gym-finish-modal{width:min(620px,100%);background:#fff;border-radius:24px;padding:20px;box-shadow:0 24px 70px #0000002e;max-height:min(90vh,840px);overflow:auto}.gym-detail-backdrop{align-items:center;justify-content:center;padding:16px}.gym-exercise-detail-modal{width:min(520px,calc(100vw - 32px));background:#fff;border-radius:22px;padding:20px;box-shadow:0 24px 70px #0000002e;display:flex;flex-direction:column;gap:14px;max-height:88vh;overflow-y:auto;position:relative}.gym-detail-backdrop+.gym-detail-backdrop{align-items:center;justify-content:center}.gym-picker-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.gym-picker-header h3{margin:0;font-size:20px}.gym-picker-search{width:100%;border:1px solid var(--color-glass-border);border-radius:16px;padding:12px 14px;font-size:15px;color:var(--color-charcoal);margin-bottom:16px}.gym-picker-list{display:grid;gap:12px}.gym-picker-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--color-glass-border);border-radius:16px;background:#f8fafc;cursor:pointer;text-align:left}.gym-picker-item img{width:56px;height:56px;object-fit:cover;border-radius:14px;flex-shrink:0}.gym-picker-item span{display:flex;flex-direction:column;gap:4px}.gym-picker-item strong{font-size:15px}.gym-picker-item small{color:var(--color-text-muted);font-size:13px}.gym-finish-modal{display:flex;flex-direction:column;gap:18px}.gym-finish-modal h2{margin:0;font-size:26px}.finish-xp{margin:0;font-size:22px;color:#f59e0b;font-weight:800}.finish-total-load{margin:0;font-size:16px;color:var(--color-charcoal)}.finish-photo-input{display:grid;gap:8px;font-size:14px;color:var(--color-charcoal)}.finish-photo-input input{border:1px solid var(--color-glass-border);border-radius:14px;padding:10px 12px}.finish-file-name{font-size:13px;color:var(--color-text-muted)}.gym-active-workout{display:flex;flex-direction:column;position:relative;padding-bottom:80px}.gym-workout-sticky-header{position:sticky;top:0;z-index:10;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-glass-border);margin-bottom:20px}.workout-time{font-size:18px;display:flex;align-items:center;gap:8px}.workout-time strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-brown)}.gym-finish-workout-btn{padding:10px 20px;background:linear-gradient(135deg,#a67c52,#8e633b);color:#fff;border:none;border-radius:20px;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 4px 12px #a67c524d;transition:all .2s ease}.gym-finish-workout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #a67c5266}.gym-add-ex-header-btn{padding:8px 16px;background:#a67c521a;color:var(--color-brown);border:1px solid rgba(166,124,82,.2);border-radius:16px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.gym-add-ex-header-btn:hover{background:#a67c5226}.gym-rest-timer-floating{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:50;background:var(--color-charcoal);color:#fff;padding:12px 24px;border-radius:30px;box-shadow:0 8px 24px #0003;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.rest-timer-content{display:flex;align-items:center;gap:20px}.rest-timer-content span{font-size:16px}.rest-timer-content strong{font-size:20px;color:#38bdf8;font-feature-settings:"tnum"}.rest-timer-controls{display:flex;gap:8px}.rest-timer-controls button{background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:16px;cursor:pointer;font-size:14px;transition:background .2s}.rest-timer-controls button:hover{background:#ffffff4d}.gym-workout-exercise-list{padding:0 20px;display:flex;flex-direction:column;gap:24px}.gym-workout-ex-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden;border:1px solid var(--color-glass-border)}.workout-ex-header{padding:16px;display:flex;gap:16px;background:#f8fafc;border-bottom:1px solid var(--color-glass-border);align-items:center}.workout-ex-number{background:var(--color-brown);color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;flex-shrink:0}.workout-ex-info{flex:1}.workout-ex-info h3{margin:0 0 4px;font-size:18px;color:var(--color-charcoal)}.workout-ex-info p{margin:0;font-size:13px;color:var(--color-text-muted)}.workout-ex-img{width:60px;height:60px;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--color-glass-border)}.workout-ex-img img{width:100%;height:100%;object-fit:cover}.workout-ex-sets{padding:16px;pointer-events:auto}.workout-set-header{display:grid;grid-template-columns:60px minmax(80px,1fr) minmax(80px,1fr) 130px 60px 40px;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--color-glass-border);color:var(--color-text-muted);font-size:13px;font-weight:700;text-align:center}.workout-set-header span:nth-child(2),.workout-set-header span:nth-child(3),.workout-set-header span:nth-child(4){text-align:center}.workout-set-row{display:grid;grid-template-columns:60px minmax(80px,1fr) minmax(80px,1fr) 130px 60px 40px;align-items:center;padding:12px 0;border-bottom:1px dashed #f1f5f9;transition:all .2s;gap:12px;pointer-events:auto!important;position:relative;z-index:100}.workout-set-row input,.workout-set-row select{pointer-events:auto!important;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;touch-action:manipulation!important}.workout-set-row:last-child{border-bottom:none}.workout-set-row.done{opacity:.85;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:12px 16px;margin-bottom:8px}.set-num{text-align:center;font-weight:800;color:var(--color-text-muted)}.workout-set-row input,.workout-set-row select{width:100%;border:1px solid var(--color-glass-border);border-radius:14px;padding:10px 12px;font-size:14px;color:var(--color-charcoal);background:#fff;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.workout-set-row select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.set-details-col{display:flex;flex-direction:column;gap:4px}.remove-set-btn{width:36px;height:36px;border:none;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:18px;cursor:pointer;pointer-events:auto}.remove-set-btn:disabled{opacity:.35;cursor:not-allowed}.add-set-btn{display:block;width:100%;padding:10px;margin-top:8px;background:transparent;border:2px dashed var(--color-glass-border);border-radius:12px;color:var(--color-brown);font-size:14px;cursor:pointer;pointer-events:auto;transition:all .2s}.add-set-btn:hover{background:#a67c5214;border-color:var(--color-brown)}.exercise-done{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b26}.set-reps{font-size:18px;font-weight:700;color:var(--color-charcoal)}.set-type-badge{display:inline-block;padding:2px 6px;border-radius:6px;font-size:11px;font-weight:700;border:1px solid;align-self:flex-start}.set-checkbox{width:32px;height:32px;border:2px solid #cbd5e1;border-radius:8px;margin:0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#fff;font-weight:800;font-size:18px;line-height:1;background:transparent;padding:0;z-index:10;position:relative}.set-checkbox-mark{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:16px;font-weight:900;line-height:1;z-index:20;position:relative}.set-checkbox.checked{background:var(--color-green);border-color:var(--color-green)}.workout-cardio-box{padding:20px;display:flex;flex-direction:column;gap:16px;align-items:center}.cardio-stats{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.c-stat{background:#eff6ff;color:#2563eb;padding:12px 20px;border-radius:12px;font-weight:700;font-size:18px;box-shadow:0 2px 4px #2563eb1a}.cardio-complete-btn{width:100%;max-width:300px;padding:12px;text-align:center;cursor:pointer}.cardio-complete-btn.completed{background:var(--color-green)!important;color:#fff!important;border-color:var(--color-green)!important}@media (max-width: 480px){.workout-set-header{display:none}.gym-workout-sticky-header{padding:6px 8px;gap:6px}.workout-time{font-size:13px;gap:3px}.workout-time strong{font-size:14px}.gym-finish-workout-btn,.gym-add-ex-header-btn{padding:6px 10px;font-size:11px;border-radius:10px}.gym-workout-exercise-list{padding:0 10px 10px;gap:12px}.gym-workout-ex-card{border-radius:14px}.gym-exercise-picker,.gym-finish-modal{width:min(480px,100%);max-height:88vh;padding:14px;border-radius:16px}.gym-picker-header h3,.gym-finish-modal h2{font-size:18px}.gym-picker-search{padding:10px 12px;font-size:13px}.gym-picker-item{padding:10px;border-radius:12px}.gym-picker-item img{width:40px;height:40px;border-radius:10px}.gym-picker-item strong{font-size:13px}.gym-finish-modal{gap:12px}.finish-xp{font-size:18px}.finish-total-load{font-size:14px}.gym-workout-sticky-header{margin-bottom:10px}.workout-set-row{display:grid;grid-template-columns:36px 1fr 1fr 72px;grid-template-areas:"num type type" "reps weight actions";gap:6px;padding:10px;background:#f8fafc;border-radius:10px;margin-bottom:8px;border:1px solid var(--color-glass-border)}.workout-set-row.done{background:#f0fdf4;border-color:#bbf7d0}.set-num{grid-area:num;text-align:left;font-size:12px;font-weight:700;padding-top:4px}.set-num:before{content:"#"}.workout-set-row select{grid-area:type;padding:6px 8px;font-size:11px;border-radius:8px}.workout-set-row input,.workout-set-row select{padding:8px 10px;font-size:13px;border-radius:10px;pointer-events:auto;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.workout-set-row input[aria-label=Repetições]{grid-area:reps;width:100%}.workout-set-row input[aria-label=Kg]{grid-area:weight;width:100%}.set-actions{grid-area:actions;display:flex;gap:6px;align-items:center;justify-content:flex-end}.set-checkbox{width:36px;height:36px;border:2px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#fff;font-weight:800;font-size:18px;line-height:1;background:transparent;padding:0}.set-checkbox.checked{background:var(--color-green);border-color:var(--color-green)}.remove-set-btn{width:36px;height:36px;font-size:18px;border-radius:8px;background:#fef2f2;color:#b91c1c;border:none;display:flex;align-items:center;justify-content:center}.remove-set-btn:after{content:"✕";font-size:16px;font-weight:700}.remove-set-btn span{display:none}.workout-ex-header{padding:10px;gap:10px}.workout-ex-number{width:26px;height:26px;font-size:12px}.workout-ex-info h3{font-size:14px}.workout-ex-info p{font-size:11px}.workout-ex-img{width:44px;height:44px;border-radius:6px}.workout-ex-sets{padding:10px}}.gym-exercise-detail-modal{width:min(500px,100%);background:#fff;border-radius:20px;padding:18px;box-shadow:0 22px 60px #00000029;display:flex;flex-direction:column;gap:14px;max-height:88vh;overflow-y:auto}.gym-detail-modal-img{width:100%;max-height:min(60vh,420px);border-radius:16px;object-fit:contain;background:#f8fafc;border:1px solid var(--color-glass-border)}.gym-detail-modal-info{display:flex;flex-direction:column;gap:12px}.gym-detail-desc{font-size:14px;line-height:1.55;color:var(--color-text-muted);margin:0}.gym-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.gym-tag{background:#f8fafc;border:1px solid var(--color-glass-border);padding:6px 12px;border-radius:12px;font-size:13px;font-weight:600;color:var(--color-charcoal)}.gym-history-page{display:flex;flex-direction:column;gap:24px;padding-bottom:40px}.gym-history-header h2{margin:0 0 4px;color:var(--color-charcoal)}.gym-history-header p{margin:0;color:var(--color-text-muted);font-size:14px}.gym-history-months{display:flex;flex-direction:column;gap:32px}.gym-history-month-title{font-size:20px;color:var(--color-charcoal);margin-bottom:12px;border-bottom:2px solid var(--color-glass-border);padding-bottom:8px}.gym-history-list{display:flex;flex-direction:column;gap:12px}.gym-history-item{background:#fff;border:1px solid var(--color-glass-border);border-radius:12px;padding:16px;transition:all .2s}.gym-history-row{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px}.gym-history-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:8px;width:56px;height:56px;flex-shrink:0}.gym-history-day-num{font-size:22px;font-weight:800;line-height:1;color:var(--color-brown)}.gym-history-day-name{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.gym-history-info{flex:1}.gym-history-info h4{margin:0 0 4px;font-size:16px;color:var(--color-charcoal)}.gym-history-info p{margin:0;font-size:14px;color:var(--color-text-muted)}.gym-history-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.gym-history-duration,.gym-history-xp{font-size:13px;font-weight:600;color:var(--color-charcoal)}.gym-history-details{margin-top:16px;padding-top:16px;border-top:1px dashed var(--color-glass-border);display:flex;flex-direction:column;gap:16px}.gym-history-details-header{display:flex;justify-content:space-between;align-items:center}.gym-history-details-header p{margin:0;font-size:14px;color:var(--color-text-muted)}.gym-history-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gym-edit-btn,.gym-delete-session-btn{padding:8px 12px;font-size:13px;border-radius:12px}.gym-delete-session-btn{background:#fef2f2;color:#b91c1c;border:1px solid rgba(185,28,28,.15)}.gym-delete-session-btn:disabled{opacity:.7;cursor:not-allowed}.gym-history-photos{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.gym-history-photo{width:120px;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--color-glass-border)}.gym-history-ex-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.gym-history-ex-list li{font-size:14px;color:var(--color-text-muted)}.gym-history-ex-list strong{color:var(--color-charcoal)}.gym-history-no-data{font-size:14px;color:#94a3b8;font-style:italic;margin:0}@media (max-width: 480px){.gym-history-row{flex-wrap:wrap}.gym-history-meta{flex-direction:row;width:100%;justify-content:flex-start;padding-top:8px}.gym-history-details-header{flex-direction:column;align-items:flex-start;gap:12px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gym-session-editor{display:flex;flex-direction:column;gap:24px;background:#fff;padding:24px;border-radius:16px;border:1px solid var(--color-glass-border)}.gym-session-editor-header{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--color-glass-border);padding-bottom:16px}.gym-error-msg{background:#fef2f2;color:#b91c1c;padding:12px;border-radius:8px;font-size:14px;border:1px solid #fca5a5}.gym-editor-form{display:flex;flex-direction:column;gap:32px}.gym-editor-row{display:flex;gap:16px;flex-wrap:wrap}.gym-editor-row .gym-config-field{flex:1;min-width:200px}.gym-editor-exercises{display:flex;flex-direction:column;gap:16px}.gym-editor-ex-card{background:#f8fafc;border:1px solid var(--color-glass-border);border-radius:12px;padding:16px}.gym-editor-ex-card h4{margin:0 0 16px;color:var(--color-charcoal);font-size:16px}.gym-editor-cardio{display:flex;gap:12px;flex-wrap:wrap}.gym-editor-sets{display:flex;flex-direction:column;gap:8px}.gym-editor-sets-header{display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;padding:0 8px;font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.gym-editor-set-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;align-items:center}.gym-editor-set-row .set-num{display:flex;justify-content:center;align-items:center;width:32px;height:32px;background:#fff;border-radius:8px;font-weight:700;color:var(--color-charcoal);border:1px solid var(--color-glass-border)}.gym-weight-log-page{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.gym-weight-log-header{display:flex;justify-content:space-between;align-items:center}.gym-weight-log-header h2{margin:0 0 4px;color:var(--color-charcoal)}.gym-weight-log-header p{margin:0;color:var(--color-text-muted);font-size:14px}.gym-weight-chart{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--color-glass-border);box-shadow:0 4px 12px #0000000d;width:100%;overflow:hidden}.gym-weight-svg{width:100%;height:auto;display:block}.gym-weight-entries{display:flex;flex-direction:column;gap:12px}.gym-weight-entry{background:#fff;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-glass-border)}.gym-weight-entry-value{font-size:18px;font-weight:800;color:var(--color-brown)}.gym-weight-entry-date{font-size:14px;color:var(--color-text-muted)}.gym-weight-delete-btn{background:transparent;color:var(--color-brown);border:1px solid var(--color-glass-border);border-radius:14px;padding:8px 14px;cursor:pointer;transition:all .2s ease}.gym-weight-delete-btn:hover{background:#ff4f4f1a;border-color:#ff4f4f33}.gym-water-log-page{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.gym-water-log-header h2{margin:0 0 4px;color:var(--color-charcoal)}.gym-water-today-card{background:#fff;border-radius:16px;padding:20px;border:1px solid var(--color-glass-border);box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;align-items:center}.gym-water-today-card h3{margin:0 0 16px;color:var(--color-brown)}.gym-water-progress-bar{width:100%;height:20px;background:var(--color-glass-border);border-radius:10px;overflow:hidden;margin-bottom:8px}.gym-water-progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);transition:width .3s ease}.gym-water-amount{font-size:18px;font-weight:800;color:var(--color-charcoal);margin-bottom:20px}.gym-water-quick-add{display:flex;gap:12px;width:100%}.gym-water-quick-add button{flex:1;padding:12px;border-radius:12px;border:none;background:#eff6ff;color:#2563eb;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s}.gym-water-quick-add button:active{transform:scale(.95);background:#3b82f6;color:#fff}.gym-water-entries{display:flex;flex-direction:column;gap:12px}.gym-water-entry{background:#fff;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-glass-border)}.gym-water-entry-date{font-size:16px;font-weight:700;color:var(--color-charcoal);text-transform:capitalize}.gym-water-entry-value{font-size:18px;font-weight:800;color:#3b82f6}.gym-calendar-page{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.gym-calendar-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:16px;border-radius:16px;box-shadow:0 4px 12px #0000000d}.gym-calendar-header h2{margin:0;color:var(--color-charcoal)}.gym-cal-nav-btn{background:var(--color-cream);border:1px solid var(--color-glass-border);border-radius:50%;width:40px;height:40px;font-size:18px;color:var(--color-brown);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.gym-cal-nav-btn:hover{background:var(--color-brown-pale)}.gym-calendar-legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 16px}.gym-calendar-legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-muted)}.gym-calendar-legend-item span{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid transparent}.gym-calendar-legend-item.workout span{background:#fef08a;border-color:#eab308}.gym-calendar-legend-item.rest span{background:#bfdbfe;border-color:#60a5fa}.gym-calendar-legend-item.relaxation span{background:#fecaca;border-color:#ef4444}.gym-calendar-container{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 12px #0000000d;border:1px solid var(--color-glass-border)}.gym-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:12px}.gym-cal-wd{font-size:12px;font-weight:800;color:var(--color-text-muted);text-transform:uppercase}.gym-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.gym-cal-day{aspect-ratio:1;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;font-weight:700;color:var(--color-charcoal);border:1px solid transparent}.gym-cal-day.empty{background:transparent}.gym-cal-day.today{border-color:var(--color-brown);background:var(--color-cream)}.gym-cal-day.state-workout{background:linear-gradient(135deg,#fef08a,#fde68a);border:1px solid #f59e0b}.gym-cal-day.state-rest{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #60a5fa}.gym-cal-day.state-relaxation{background:linear-gradient(135deg,#fecaca,#fca5a5);border:1px solid #ef4444}.gym-cal-badge{position:absolute;bottom:2px;font-size:12px}.gym-inbox-page{padding:1.5rem}.gym-inbox-header{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.gym-inbox-list{display:grid;gap:1rem}.gym-inbox-item{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:1rem 1.25rem;background:#fff;box-shadow:0 14px 34px #0510250d}.gym-inbox-item.unread{border-color:#3466ff}.gym-inbox-item.read{opacity:.83}.gym-inbox-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.gym-inbox-item-header h3{margin:0;font-size:1.05rem}.gym-inbox-item-header small{color:#666}.gym-inbox-badge{padding:.4rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge-unread{background:#e6f0ff;color:#1f4dff}.badge-read{background:#f2f4fa;color:#5d5d79}.gym-inbox-item p{margin:0 0 .9rem;line-height:1.6}.gym-inbox-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.gym-inbox-mark-read{margin-left:auto}.gym-inbox-header-actions{display:flex;align-items:center;gap:.75rem}.gym-inbox-new-count{background:#3466ff;color:#fff;padding:.45rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700}.gym-inbox-replies{margin:1rem 0 .8rem;padding:.9rem 1rem;border:1px solid rgba(52,102,255,.15);border-radius:16px;background:#f5f8ff}.gym-inbox-replies strong{display:block;margin-bottom:.75rem;color:#1641f5}.gym-inbox-reply{padding:.75rem 0;border-top:1px solid rgba(0,0,0,.04)}.gym-inbox-reply:first-child{border-top:none}.gym-inbox-reply p{margin:0 0 .35rem;line-height:1.6}.gym-inbox-reply small{color:#666}.gym-inbox-reply-form{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.gym-inbox-reply-form textarea{width:100%;min-height:100px;border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:12px 14px;resize:vertical;font-family:Nunito,sans-serif;font-size:.96rem}.gym-inbox-reply-form button{align-self:flex-end}.hub{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px;position:relative;overflow:hidden;background:linear-gradient(160deg,#fff4ec,#fde8ec 45%,#f5ede3 80%,#fff4ec)}.hub:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 20%,rgba(232,82,106,.1) 0%,transparent 55%),radial-gradient(ellipse at 80% 80%,rgba(139,94,60,.08) 0%,transparent 55%);pointer-events:none;z-index:0}.decorative-cat{position:absolute;z-index:9999;pointer-events:none;animation:floatSlow 5s ease-in-out infinite}.decorative-cat,.decorative-cat-image{will-change:transform,opacity}.hub.transitioning .decorative-cat{z-index:1}.hub-content{position:relative;z-index:100}.hub-button{position:relative;z-index:200}.decorative-cat-image{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(139,94,60,.18));opacity:.75;transition:opacity .3s ease}.decorative-cat-emoji{font-size:60px;opacity:.7}@media (max-width: 768px){.decorative-cat-image{width:58px;height:58px}.decorative-cat{opacity:.6}}@media (max-width: 390px){.decorative-cat-image{width:46px;height:46px}.decorative-cat{opacity:.5}}.hub-content{max-width:640px;width:100%;text-align:center;position:relative;z-index:20}.hub-title{font-size:38px;font-weight:800;margin-bottom:44px;letter-spacing:-.5px;background:linear-gradient(135deg,#8b5e3c,#e8526a,#b07d54);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease-in-out infinite;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-buttons{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:36px}.hub-button{width:100%;padding:16px 14px;background:#fffdf9e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;box-shadow:0 6px 22px #8b5e3c1a;border:1.5px solid rgba(255,255,255,.7);cursor:pointer;transition:all var(--transition-spring);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;overflow:hidden;z-index:10}.hub-button:before{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,220,210,.35),transparent);transition:left .55s ease}.hub-button:hover:not(:disabled):before{left:130%}.hub-button:hover:not(:disabled){transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px #8b5e3c29,0 4px 14px #e8526a1f}.hub-button:active:not(:disabled){transform:translateY(-2px) scale(.98)}.hub-button--disabled{opacity:.45;cursor:not-allowed}.freaky-button{position:relative}.freaky-button:before{content:"Freaky";position:absolute;left:16px;top:18px;display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7b3e93}.album-button{border-left:5px solid #E65578}.wars-button{border-left:5px solid #BD7C4E}.notes-button{border-left:5px solid #F3A2C1}.calendar-button{border-left:5px solid #C18E64}.bucket-button{border-left:5px solid #D99A6C}.letters-button{border-left:5px solid #E8526A}.roulette-button{border-left:5px solid #C05C9E}.freaky-button{border-left:5px solid #8E4CB5}.auth-button{border-left:5px solid #E0709C}.events-button{border-left:5px solid #F0B249}.legacy-button{border-left:5px solid #5F4A38}.button-emoji{font-size:38px;animation:hubEmojiFloat 3.5s ease-in-out infinite}.button-text{font-size:20px;font-weight:700;color:var(--color-text)}.button-subtitle{font-size:13px;color:var(--color-text-light);font-weight:500}@keyframes hubEmojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hub-footer{margin-top:32px}.footer-text{font-size:16px;color:var(--color-text-muted);opacity:.85}@media (max-width: 480px){.hub{padding:16px 12px}.hub-title{font-size:24px;margin-bottom:24px}.hub-buttons{gap:10px}.hub-button{padding:10px;border-radius:16px;gap:2px;min-height:96px}.button-emoji{font-size:24px}.button-text{font-size:15px}.button-subtitle{font-size:10px}}@media (max-width: 390px){.hub-title{font-size:22px;letter-spacing:-.5px}.hub-buttons{gap:12px}.hub-button{padding:9px 10px;min-height:88px}.button-emoji{font-size:22px}.button-text{font-size:15px}}.calendar-page{min-height:100vh;background:linear-gradient(145deg,#fff4ec,#fde8ec,#f5ede3);padding:20px}.cal-header{display:flex;align-items:center;gap:14px;margin-bottom:28px;flex-wrap:wrap}.cal-back{padding:10px 18px;background:#fffdf9d9;border-radius:50px;font-weight:700;color:var(--color-text);border:1.5px solid rgba(139,94,60,.14);box-shadow:var(--shadow-soft);transition:all var(--transition-normal)}.cal-back:hover{transform:translate(-3px)}.cal-header h2{flex:1;font-size:24px;font-weight:800;color:var(--color-text)}.mode-toggle{display:flex;background:#fffdf9d9;border-radius:50px;padding:4px;gap:4px;box-shadow:var(--shadow-soft)}.mode-toggle button{padding:8px 18px;border-radius:50px;font-weight:700;color:var(--color-text-muted);transition:all var(--transition-normal)}.mode-toggle button.active{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;box-shadow:0 4px 12px #e8526a4d}.calendar-container{max-width:800px;margin:0 auto;background:#fffdf9cc;border-radius:20px;padding:20px;box-shadow:var(--shadow-soft)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-controls button{background:#fffdf9e6;border:1px solid rgba(139,94,60,.2);border-radius:50%;width:40px;height:40px;font-weight:700;color:var(--color-text);box-shadow:var(--shadow-soft);cursor:pointer;transition:.2s}.calendar-controls button:hover{background:var(--color-rose);color:#fff}.calendar-controls h3{font-size:22px;font-weight:800;color:var(--color-text)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;color:var(--color-rose);margin-bottom:10px;font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-day{background:#fff9;border-radius:12px;min-height:80px;padding:8px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 4px #00000005;border:1px solid rgba(139,94,60,.05);position:relative;transition:.2s}.cal-day.empty{background:transparent;border:none;box-shadow:none}.cal-day.is-today{border:2px solid var(--color-rose);background:#e8526a0d}.cal-day.is-past{opacity:.7}.cal-day.has-event{background:linear-gradient(135deg,#fffdf9e6,#fde8ece6);border:1px solid var(--color-rose);cursor:pointer}.cal-day.has-event:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.cal-day.has-event.is-freaky{background:linear-gradient(145deg,#120008f5,#2a0014f0);border:1px solid rgba(255,51,102,.45);box-shadow:0 4px 14px #8a2be22e}.cal-day.has-event.is-freaky:hover{box-shadow:0 8px 20px #ff33663d}.cal-day.has-event.is-freaky .day-number{color:#ffb3d1}.cal-day.is-today.has-event.is-freaky{border:2px solid #ff3366;background:linear-gradient(145deg,#1a000dfa,#4a002aeb)}.tl-card.is-freaky{background:linear-gradient(145deg,#120008f5,#2a0014f0);border:1.5px solid rgba(255,51,102,.45);color:#ffe6f0;box-shadow:0 10px 24px #8a2be229}.tl-card.is-freaky h3,.tl-card.is-freaky .cal-date{color:#ffb3d1}.tl-card.is-freaky:hover{box-shadow:0 14px 30px #ff336638}.freaky-event-toggle{width:100%;padding:12px 16px;border-radius:14px;border:1px solid rgba(255,51,102,.35);background:linear-gradient(145deg,#120008,#2a0014);color:#ffb3d1;font:inherit;font-weight:700;cursor:pointer;transition:.2s ease}.freaky-event-toggle:hover{border-color:#8a2be273}.freaky-event-toggle.active{background:linear-gradient(135deg,#4a002af2,#2a0014fa);border-color:#ff33668c;color:#ffe6f0;box-shadow:0 4px 14px #ff33662e}.cal-day.is-clickable{cursor:pointer}.cal-day.is-clickable:hover{background:#e8526a1a}.day-number{font-weight:700;color:var(--color-text);font-size:14px}.day-emoji{font-size:22px;margin-top:auto;line-height:1}.cal-emoji{font-size:28px;line-height:1;margin-bottom:4px}.cal-hint{text-align:center;margin-top:20px;color:var(--color-text-muted);font-size:14px;font-style:italic}.cal-timeline{position:relative;padding:20px 0 60px;max-width:800px;margin:0 auto}.timeline-line{position:absolute;left:50%;transform:translate(-50%);top:0;bottom:0;width:4px;background:linear-gradient(to bottom,transparent,#E8526A 10%,#8B5E3C 90%,transparent);border-radius:2px}.timeline-row{display:flex;align-items:flex-start;margin-bottom:36px;position:relative}.timeline-row.left{justify-content:flex-start;padding-right:calc(50% + 24px)}.timeline-row.right{justify-content:flex-end;padding-left:calc(50% + 24px)}.tl-card{background:#fffdf9e6;border-radius:18px;padding:20px 16px;text-align:center;box-shadow:var(--shadow-soft);border:1.5px solid rgba(232,82,106,.1);cursor:pointer;transition:all var(--transition-spring);max-width:220px;width:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.tl-card:hover{transform:scale(1.04);box-shadow:var(--shadow-strong)}.tl-dot{position:absolute;left:50%;top:24px;transform:translate(-50%);width:16px;height:16px;background:#fff;border:3px solid var(--color-rose);border-radius:50%;box-shadow:0 0 10px #e8526a40}.tl-walkers{display:flex;justify-content:center;margin-top:20px}.tl-walkers img,.tl-walkers video{width:90px;height:90px;object-fit:contain}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:max(16px,env(safe-area-inset-top)) 16px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeIn .3s ease-out}.modal-content{position:relative;width:min(100%,520px);max-height:none;background:#fff;border-radius:20px;overflow:visible;box-shadow:var(--shadow-strong);animation:slideIn .3s ease-out;margin:auto 0}.modal-close{position:absolute;top:12px;right:12px;width:38px;height:38px;background:#4a3b32d9;color:#fff;border-radius:50%;font-size:18px;cursor:pointer;z-index:10}.cal-view-modal,.cal-create-modal{padding:24px 20px 20px;max-height:none;overflow:visible}.view-event-header{text-align:center;margin-bottom:16px;padding-top:8px}.view-event-emoji{font-size:44px;display:block;margin-bottom:10px;line-height:1.2}.view-event-header h2{color:var(--color-text);font-size:24px;font-weight:800;margin-bottom:4px}.view-event-date{color:var(--color-rose);font-weight:600}.view-event-media{width:100%;border-radius:12px;margin-bottom:16px;max-height:400px;object-fit:cover}.view-event-desc{color:var(--color-text);line-height:1.5;text-align:center;font-style:italic}.event-actions{display:flex;gap:10px;margin-top:18px}.btn-edit-event,.btn-delete-event{flex:1;padding:12px 14px;border-radius:50px;font-weight:800;cursor:pointer;transition:.2s}.btn-edit-event{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;box-shadow:0 4px 12px #e8526a40}.btn-delete-event{background:#fffc;color:#b4233a;border:1.5px solid rgba(180,35,58,.28)}.btn-edit-event:hover,.btn-delete-event:hover{transform:translateY(-2px)}.btn-delete-event:disabled{opacity:.7;cursor:not-allowed}.btn-delete-event.full-width{width:100%;margin-top:10px}.cal-create-modal{max-width:420px;overflow-y:auto;max-height:calc(100vh - 48px)}.cal-create-modal h2{text-align:center;color:var(--color-text);margin-bottom:4px}.create-date-text{text-align:center;color:var(--color-rose);font-weight:700;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(139,94,60,.2);background:#ffffff80;font-family:inherit}.emoji-picker{display:flex;flex-wrap:wrap;gap:8px}.emoji-btn{font-size:24px;padding:8px;background:#fff9;border:1px solid rgba(139,94,60,.1);border-radius:10px;cursor:pointer;transition:.2s}.emoji-btn:hover{background:#ffffffe6;transform:scale(1.1)}.emoji-btn.selected{background:var(--color-rose);border-color:var(--color-rose)}.btn-select-media{width:100%;padding:12px;background:#8b5e3c1a;border:2px dashed rgba(139,94,60,.3);border-radius:10px;color:var(--color-text);font-weight:600;cursor:pointer;transition:.2s}.btn-select-media:hover{background:#8b5e3c33}.selected-media-preview{position:relative;cursor:pointer;border-radius:10px;overflow:hidden}.selected-media-preview img,.selected-media-preview video{width:100%;height:150px;object-fit:cover;display:block}.change-text{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;text-align:center;padding:8px;font-size:12px;font-weight:700}.btn-save-event{width:100%;padding:14px;background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;font-weight:800;border:none;border-radius:50px;margin-top:10px;cursor:pointer;box-shadow:0 4px 12px #e8526a4d;transition:.2s}.btn-save-event:hover{transform:translateY(-2px);box-shadow:0 6px 16px #e8526a66}.btn-save-event:disabled{opacity:.7;cursor:not-allowed}.media-picker-modal{z-index:1001}.picker-content{max-width:700px;width:min(100%,700px);max-height:calc(100vh - 48px);overflow-y:auto;padding:20px}.picker-content h2{text-align:center;color:var(--color-text);margin-bottom:20px}.media-section{margin-bottom:30px}.media-section h3{color:var(--color-rose);margin-bottom:14px;border-bottom:2px solid rgba(232,82,106,.1);padding-bottom:6px}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.picker-grid img,.picker-grid video{width:100%;height:100px;object-fit:cover;border-radius:8px;cursor:pointer;transition:.2s}.picker-grid img:hover,.picker-grid video:hover{transform:scale(1.05);box-shadow:var(--shadow-soft)}@media (max-width: 600px){.cal-grid{grid-template-columns:1fr 1fr;gap:12px}.timeline-line{left:20px}.timeline-row.left,.timeline-row.right{padding-left:44px;padding-right:0;justify-content:flex-start}.tl-dot{left:20px}.cal-day{min-height:60px;padding:4px}.day-emoji,.calendar-controls h3{font-size:18px}}.picker-tabs{display:flex;gap:8px;margin-bottom:14px;background:#fffdf980;border-radius:50px;padding:4px}.picker-tabs button{flex:1;padding:10px 16px;border-radius:50px;font-weight:700;color:var(--color-text-muted);transition:all .2s}.picker-tabs button.active{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;box-shadow:0 4px 12px #e8526a4d}.picker-search{width:100%;padding:10px 14px;border-radius:50px;border:1.5px solid rgba(139,94,60,.2);background:#fff9;font-family:inherit;font-size:15px;margin-bottom:16px;outline:none;box-sizing:border-box}.picker-search:focus{border-color:var(--color-rose)}.scoreboard-container{min-height:100vh;display:flex;flex-direction:column;color:var(--color-text);background:transparent}.scoreboard-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:18px 20px;background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-glass-border)}.scoreboard-back{padding:10px 18px;background:#fffffff2;border-radius:20px;font-size:15px;font-weight:700;color:var(--color-text);box-shadow:var(--shadow-soft);transition:all var(--transition-fast)}.scoreboard-back:hover{transform:translate(-2px);box-shadow:var(--shadow-medium)}.scoreboard-back:active{transform:translate(0)}.scoreboard-header h1{flex:1;margin:0;font-size:1.5rem;font-weight:800;text-align:center;color:var(--color-text)}.scoreboard-games{display:flex;gap:10px;padding:16px 20px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.scoreboard-game-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:20px;font-size:14px;font-weight:700;color:var(--color-brown);background:#ffffffe6;box-shadow:var(--shadow-soft);white-space:nowrap;transition:all var(--transition-fast)}.scoreboard-game-tab .tab-icon{font-size:1.1rem}.scoreboard-game-tab.active{color:#fff;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));box-shadow:var(--shadow-medium)}.scoreboard-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:18px}.scoreboard-loading,.scoreboard-error,.scoreboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center}.sb-spinner{width:38px;height:38px;border-radius:50%;border:4px solid var(--color-rose-light);border-top-color:var(--color-rose);animation:rotate .8s linear infinite}.scoreboard-loading p{color:var(--color-text-light);font-weight:600;margin:0}.scoreboard-empty p{font-size:1.05rem;color:var(--color-text);font-weight:700;margin:0}.scoreboard-empty-hint{font-size:.9rem;color:var(--color-text-light);max-width:320px}.scoreboard-error{background:var(--color-rose-pale);border:2px solid rgba(227,168,168,.25);border-radius:18px}.scoreboard-error p{color:var(--color-rose);font-weight:700;margin:0 0 8px}.scoreboard-error button{padding:10px 22px;border-radius:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--color-rose),var(--color-brown));box-shadow:var(--shadow-soft)}.scoreboard-error button:hover{transform:scale(1.04)}.scoreboard-list-header{display:flex;align-items:baseline;justify-content:space-between;font-size:1.3rem;font-weight:800;color:var(--color-text)}.scoreboard-count{font-size:.85rem;font-weight:700;color:var(--color-text-light)}.scoreboard-list{display:flex;flex-direction:column;gap:12px}.scoreboard-row{display:flex;align-items:center;gap:14px;padding:16px;background:#ffffffeb;border-radius:20px;box-shadow:var(--shadow-soft);cursor:pointer;transition:all var(--transition-normal);border-left:4px solid transparent}.scoreboard-row:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.scoreboard-row.selected{border-left-color:var(--color-rose);background:linear-gradient(135deg,var(--color-rose-pale),rgba(255,255,255,.92))}.scoreboard-row.current-user{border-left-color:gold;background:linear-gradient(135deg,#fff8e1,#ffffffeb)}.scoreboard-rank{display:flex;flex-direction:column;align-items:center;min-width:46px;font-weight:800}.rank-medal{font-size:1.6rem;line-height:1}.rank-number{font-size:.75rem;color:var(--color-text-light);font-weight:700}.scoreboard-player{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.player-emoji{font-size:2.4rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.player-info{display:flex;flex-direction:column;text-align:left;min-width:0}.player-name{font-weight:800;font-size:1.05rem;color:var(--color-text)}.player-games{font-size:.82rem;color:var(--color-text-light);font-weight:600}.scoreboard-score,.scoreboard-last{display:flex;flex-direction:column;align-items:center;min-width:64px}.score-label,.last-label{font-size:.7rem;color:var(--color-brown);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.score-value,.last-value{font-size:1.35rem;font-weight:800;color:var(--color-rose)}.scoreboard-expand{font-size:1rem;color:var(--color-text-muted);font-weight:800;transition:color var(--transition-normal)}.scoreboard-row.selected .scoreboard-expand{color:var(--color-rose)}.scoreboard-details{background:var(--color-rose-pale);border:2px solid rgba(227,168,168,.2);border-radius:18px;padding:18px;animation:fadeIn .3s ease-out}.scoreboard-details h3{margin:0 0 14px;font-size:1.1rem;font-weight:800;color:var(--color-text)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.detail-card{background:#fff;padding:14px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--shadow-soft);border:1px solid var(--color-glass-border)}.detail-card.full-width{grid-column:1 / -1}.detail-label{font-size:.7rem;color:var(--color-brown);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1.4rem;font-weight:800;color:var(--color-rose)}.scoreboard-footer{padding:16px;text-align:center}.scoreboard-footer-text{margin:0;font-size:.85rem;color:var(--color-text-light);font-style:italic;font-weight:600}@media (max-width: 560px){.scoreboard-header h1{font-size:1.25rem}.scoreboard-main{padding:14px}.scoreboard-row{flex-wrap:wrap;gap:10px;padding:14px}.scoreboard-player{order:2;flex:1 0 100%;min-width:100%}.scoreboard-rank{order:1}.scoreboard-score,.scoreboard-last{order:3;min-width:56px}.scoreboard-expand{order:4;margin-left:auto}.player-emoji{font-size:2rem}.rank-medal{font-size:1.4rem}.details-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 380px){.scoreboard-header{padding:14px}.scoreboard-header h1{font-size:1.1rem}.scoreboard-row{padding:12px}.player-emoji{font-size:1.8rem}.details-grid{grid-template-columns:1fr}}.games-page{min-height:100vh;background:linear-gradient(145deg,#fff4ec,#fde8ec,#f5ede3);padding:20px}.games-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.games-back{padding:10px 18px;background:#fffdf9d9;border-radius:50px;font-weight:700;color:var(--color-text);border:1.5px solid rgba(139,94,60,.14);box-shadow:var(--shadow-soft);transition:all var(--transition-normal)}.games-back:hover{transform:translate(-3px)}.games-header h2{font-size:28px;font-weight:800;color:var(--color-text)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;max-width:600px;margin:0 auto}.game-card{background:#fffdf9e6;border-radius:24px;padding:30px 20px;text-align:center;box-shadow:var(--shadow-medium);border:1.5px solid rgba(232,82,106,.1);cursor:pointer;transition:all var(--transition-spring);display:flex;flex-direction:column;align-items:center;gap:12px}.game-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--shadow-strong)}.game-preview{width:100px;height:100px;object-fit:contain;border-radius:16px}.game-preview.trophy{display:flex;align-items:center;justify-content:center;font-size:60px;line-height:1;background:linear-gradient(135deg,var(--color-rose-pale),var(--color-brown-pale))}.game-card h3{font-size:20px;font-weight:800;color:var(--color-text)}.game-card p{font-size:14px;color:var(--color-text-muted)}.play-badge{background:linear-gradient(135deg,#e8526a,#8b5e3c);color:#fff;padding:8px 20px;border-radius:50px;font-size:14px;font-weight:700;margin-top:4px}.game-card--wip{opacity:.55;cursor:not-allowed;border-style:dashed}.game-card--wip:hover{transform:none;box-shadow:var(--shadow-soft)}.game-wip-icon{font-size:54px}.happy-birthday-page{min-height:100vh;padding:24px;display:flex;flex-direction:column;gap:22px;background:linear-gradient(160deg,#fff5f8,#ffe8f0 42%,#fff9f5)}.happy-back{align-self:flex-start;background:#fffffff0;border:1px solid rgba(232,82,106,.18);border-radius:999px;padding:12px 18px;font-size:15px;font-weight:700;color:#6b3f3f;cursor:pointer;box-shadow:0 16px 30px #e8526a1f}.happy-birthday-card{position:relative;flex:1;max-width:920px;width:100%;margin:0 auto;border-radius:36px;padding:28px;background:#fff;box-shadow:0 28px 70px #b74a761f;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.happy-card-image{width:100%;min-height:360px;display:grid;place-items:center}.happy-image{width:100%;max-width:520px;border-radius:28px;object-fit:cover;box-shadow:0 20px 60px #e8526a29}.happy-card-copy{display:flex;flex-direction:column;gap:18px}.happy-date{font-size:.95rem;color:#9a6f7b;letter-spacing:.2px}.happy-card-copy h1{margin:0;font-size:clamp(2.4rem,4vw,3.2rem);color:#933a55;line-height:1.05}.happy-card-copy p{margin:0;color:#5f3b46;font-size:1.05rem;line-height:1.8}.happy-buttons{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.happy-buttons button{border:none;border-radius:999px;padding:16px 26px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 18px 32px #e8526a2e;min-width:140px}.happy-yes{background:linear-gradient(135deg,#f58ea9,#f7c6d5);color:#5b2833}.happy-no{background:linear-gradient(135deg,#ffb3c9,#ff8cb3);color:#4a1a2c;transition:transform .2s ease}.happy-no--moved{transform:translate(8px)}@media (max-width: 900px){.happy-birthday-card{grid-template-columns:1fr;padding:26px}}@media (max-width: 560px){.happy-birthday-card{padding:22px;gap:22px}.happy-card-copy h1{font-size:2rem}.happy-buttons{flex-direction:column;width:100%}.happy-buttons button{width:100%;max-width:100%}}.special-events-page{width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,#fff8fb,#fff3f7 35%,#f7eef2)}.special-events-header{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}.events-back{background:#fffffff5;border:1px solid rgba(139,94,60,.18);border-radius:999px;color:#5f3a46;padding:10px 18px;cursor:pointer;transition:background .2s ease,transform .2s ease;box-shadow:0 12px 24px #8b5e3c1f}.events-back:hover{background:#fff;transform:translate(-1px)}.special-events-header h2{margin:0;font-size:clamp(1.6rem,2.8vw,2.4rem);color:#512a34;flex:1;text-align:left}.special-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.event-card{display:flex;flex-direction:column;width:100%;padding:0;border:1px solid rgba(139,94,60,.18);border-radius:28px;overflow:hidden;background:#fff;color:#422a31;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;box-shadow:0 18px 50px #8b5e3c1a}.event-card:hover{transform:translateY(-3px);border-color:#8b5e3c4d;box-shadow:0 24px 56px #8b5e3c29}.event-preview{width:100%;height:240px;object-fit:cover}.event-card-body{padding:24px 24px 0;display:grid;gap:12px}.event-card-body h3{margin:0;font-size:clamp(1.8rem,2.2vw,2.2rem);color:#6d3242;line-height:1.05}.event-card-body p{margin:0;color:#705059;line-height:1.8;font-size:1rem}.event-actions{padding:24px;display:flex;justify-content:flex-end}.event-date{font-size:.95rem;color:#9a6f7b;letter-spacing:.25px}.event-card-copy h3{margin:0;font-size:clamp(1.8rem,2.2vw,2.4rem);color:#6d3242;line-height:1.05}.event-card-copy p{margin:0;color:#705059;line-height:1.8;font-size:1rem}.event-preview{width:100%;border-radius:24px;aspect-ratio:4 / 3;object-fit:cover}.event-actions{padding:0 32px 32px;display:flex;justify-content:flex-end}.event-open-button{border:none;border-radius:999px;padding:16px 24px;background:linear-gradient(135deg,#dc6180,#b07d54);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 14px 30px #dc618038;transition:transform .2s ease,box-shadow .2s ease}.event-open-button:hover{transform:translateY(-2px);box-shadow:0 18px 36px #dc618040}@media (max-width: 820px){.event-card-main{grid-template-columns:1fr}.event-actions{justify-content:center}}@media (max-width: 560px){.special-events-page{padding:18px 12px 32px}.special-events-header{justify-content:center;text-align:center}.events-back{order:1;align-self:center}.special-events-header h2{order:2;width:100%;text-align:center;font-size:1.65rem}.event-card{border-radius:24px}.event-preview{height:220px}.event-actions{padding:16px 24px 24px;justify-content:center}.event-open-button{width:100%}}@media (max-width: 680px){.special-events-header{justify-content:center}.events-back{order:1;align-self:center}.special-events-header h2{order:2;width:100%;text-align:center;font-size:1.85rem}.special-events-grid{grid-template-columns:1fr}.event-action{align-self:flex-start;width:fit-content}}@media (max-width: 480px){.special-events-page{padding:16px 12px 28px}.special-events-header{gap:12px}.events-back{padding:10px 16px;font-size:.95rem}.special-events-header h2{font-size:1.6rem}.event-card-body{padding:14px}.event-action{padding:10px 12px}}.music-player-page{width:100%;min-height:100vh;background:var(--color-brown-pale);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .25s ease-out}.mp-modal{position:relative;background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:28px;box-shadow:var(--shadow-strong);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;overflow-x:hidden;padding:28px 24px 24px;scrollbar-width:thin;scrollbar-color:var(--color-brown-light) transparent;animation:fadeInScale .3s ease-out}.mp-modal::-webkit-scrollbar{width:4px}.mp-modal::-webkit-scrollbar-thumb{background:var(--color-brown-light);border-radius:4px}.mp-floats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden;border-radius:28px}.mp-float{position:absolute}.mp-float-0{width:110px;top:-20px;right:-15px;opacity:.3;animation:mpf0 7s ease-in-out infinite}.mp-float-1{width:85px;bottom:30px;left:-10px;opacity:.25;animation:mpf1 9s ease-in-out infinite}.mp-float-img{width:100%;height:auto}@keyframes mpf0{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-12px) rotate(6deg)}}@keyframes mpf1{0%,to{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-9px) rotate(-4deg)}}.mp-close-page{position:absolute;top:14px;right:16px;background:var(--color-brown-pale);border:1px solid var(--color-glass-border);color:var(--color-text);font-size:13px;font-weight:700;cursor:pointer;z-index:10;padding:6px 14px;border-radius:20px;transition:all var(--transition-fast)}.mp-close-page:hover{color:var(--color-rose);border-color:var(--color-rose)}.mp-now-playing{position:relative;z-index:1;display:flex;align-items:center;gap:14px;margin-bottom:20px}.mp-disc{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--color-rose),var(--color-brown-light));display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0;box-shadow:var(--shadow-glow);animation:disc-spin 8s linear infinite;animation-play-state:paused}.mp-song-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mp-title{font-size:16px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-artist{font-size:12px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-fav-btn{background:none;border:none;font-size:22px;color:var(--color-text-muted);cursor:pointer;transition:color .2s,transform .15s;flex-shrink:0}.mp-fav-btn.active{color:#f2c037}.mp-fav-btn:hover{transform:scale(1.2)}.mp-progress-wrap{position:relative;z-index:1;cursor:pointer;margin-bottom:16px}.mp-progress-bar{height:5px;border-radius:4px;background:#a67c5226;overflow:hidden}.mp-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-rose),var(--color-brown-light));border-radius:4px;transition:width .1s linear}.mp-times{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--color-text-light);margin-top:6px}.mp-controls{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.mp-ctrl-btn{background:var(--color-brown-pale);border:1px solid var(--color-glass-border);border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--color-text);cursor:pointer;transition:all .2s}.mp-ctrl-btn:hover{background:var(--color-rose-pale);color:var(--color-rose);border-color:var(--color-rose)}.mp-ctrl-btn.mp-play{width:56px;height:56px;font-size:22px;background:linear-gradient(135deg,var(--color-rose),var(--color-brown-light));border:none;color:#fff;box-shadow:var(--shadow-medium)}.mp-ctrl-btn.mp-play:hover{transform:scale(1.05);box-shadow:var(--shadow-strong)}.mp-options{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}.mp-option-pill{padding:7px 16px;border-radius:20px;background:var(--color-brown-pale);border:1px solid var(--color-glass-border);color:var(--color-text-light);font-size:12px;font-weight:600;cursor:pointer;transition:all .25s;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.mp-option-pill input{display:none}.mp-option-pill:hover{background:var(--color-rose-pale);color:var(--color-rose);border-color:var(--color-rose)}.mp-option-pill.active{background:var(--color-rose-pale);border-color:var(--color-rose);color:var(--color-rose);box-shadow:var(--shadow-soft)}.mp-playlist-cycle{cursor:pointer}.mp-queue-section{position:relative;z-index:1;border-top:1px solid var(--color-glass-border);padding-top:16px}.mp-queue-title{font-size:13px;font-weight:700;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.mp-queue-empty{color:var(--color-text-muted);font-size:13px;font-weight:600;text-align:center;padding:10px 0}.mp-queue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.mp-queue-item{display:flex;align-items:center;gap:8px;background:var(--color-brown-pale);border:1px solid var(--color-glass-border);border-radius:14px;padding:8px 10px;transition:all .2s;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.mp-queue-item:active{cursor:grabbing}.mp-queue-item:hover{background:var(--color-rose-pale);border-color:#e3a8a866}.mp-drag-handle{font-size:18px;color:var(--color-text-muted);flex-shrink:0;cursor:grab;line-height:1}.mp-queue-hint-inline{font-size:10px;font-weight:400;color:var(--color-text-muted);font-style:italic;letter-spacing:0;text-transform:none}.mp-queue-order{display:flex;flex-direction:column;gap:2px}.mp-queue-move{background:none;border:none;color:var(--color-text-muted);font-size:9px;cursor:pointer;padding:0 2px;transition:color .15s;line-height:1}.mp-queue-move:hover:not(:disabled){color:var(--color-rose)}.mp-queue-move:disabled{opacity:.3;cursor:default}.mp-queue-info{flex:1;min-width:0}.mp-queue-song-title{display:block;font-size:13px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-queue-song-artist{display:block;font-size:11px;font-weight:600;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-queue-fav{background:none;border:none;font-size:16px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:color .15s,transform .15s}.mp-queue-fav.active{color:#f2c037}.mp-queue-fav:hover{transform:scale(1.2)}.mp-queue-dislike{background:none;border:none;font-size:16px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:color .15s,transform .15s}.mp-queue-dislike.active{color:var(--color-rose)}.mp-queue-dislike:hover{transform:scale(1.2)}.mp-queue-remove{background:none;border:none;font-size:12px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;padding:4px;border-radius:50%;transition:color .15s,background .15s}.mp-queue-remove:hover{color:var(--color-rose);background:var(--color-rose-pale)}.mp-queue-hint{text-align:center;font-size:11px;font-weight:600;color:var(--color-text-muted);margin-top:14px;font-style:italic}.mp-options-row{display:flex;gap:10px;width:100%;justify-content:center}.mp-np-actions{display:flex;gap:6px}.mp-dislike-btn{background:none;border:none;font-size:16px;color:var(--color-text-muted);cursor:pointer;transition:transform .15s}.mp-dislike-btn.active{color:var(--color-rose)}.mp-dislike-btn:hover{transform:scale(1.1)}.mp-divider{border:none;border-top:1px dashed var(--color-glass-border);margin:20px 0}.mp-browser-section{display:flex;flex-direction:column;gap:10px}.mp-browser-tabs{display:flex;gap:8px;justify-content:center}.mp-btab{padding:6px 12px;background:var(--color-brown-pale);border:1px solid var(--color-glass-border);border-radius:12px;font-size:12px;font-weight:700;color:var(--color-text-light);cursor:pointer;transition:all .2s}.mp-btab.active{background:var(--color-rose-pale);border-color:var(--color-rose);color:var(--color-rose)}.mp-browser-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding-right:4px}.mp-browser-list::-webkit-scrollbar{width:4px}.mp-browser-list::-webkit-scrollbar-thumb{background:var(--color-brown-light);border-radius:4px}.mp-browser-item{display:flex;justify-content:space-between;align-items:center;background:#fff6;border:1px solid var(--color-glass-border);border-radius:10px;padding:8px 10px}.mp-binfo{flex:1;min-width:0}.mp-btitle{font-size:13px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-bartist{font-size:11px;font-weight:600;color:var(--color-text-light)}.mp-bactions{display:flex;gap:8px;align-items:center}.mp-bfav,.mp-bblock{background:none;border:none;font-size:14px;cursor:pointer;color:var(--color-text-muted)}.mp-bfav.active{color:#f2c037}.mp-bblock.active{color:var(--color-rose)}.mp-badd{background:var(--color-brown-pale);border:1px solid var(--color-brown-light);color:var(--color-text);font-size:11px;font-weight:700;border-radius:12px;padding:4px 10px;cursor:pointer}.mp-badd:hover{background:var(--color-rose-pale);border-color:var(--color-rose);color:var(--color-rose)}.mp-browser-empty{text-align:center;font-size:12px;color:var(--color-text-muted);padding:16px 0}.mp-slot-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px}.mp-slot-modal{background:var(--color-glass);border-radius:20px;padding:20px;width:100%;max-width:320px;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:12px}.mp-slot-modal h3{margin:0;font-size:15px;color:var(--color-text)}.mp-slot-modal p{margin:0;font-size:13px;color:var(--color-text-muted)}.mp-slot-buttons{display:flex;flex-direction:column;gap:6px}.mp-slot-btn{background:var(--color-brown-pale);border:1px solid var(--color-glass-border);border-radius:10px;padding:8px;font-size:13px;color:var(--color-text);text-align:left;cursor:pointer}.mp-slot-btn:hover{background:var(--color-rose-pale);border-color:var(--color-rose)}.mp-slot-cancel{margin-top:8px;background:transparent;border:1px solid var(--color-text-muted);border-radius:12px;padding:8px;font-size:13px;font-weight:700;color:var(--color-text-muted);cursor:pointer}@media (max-width: 480px){.mp-modal{padding:22px 14px 18px;border-radius:20px;max-height:95vh}.mp-title{font-size:14px}.mp-ctrl-btn{width:36px;height:36px;font-size:14px}.mp-ctrl-btn.mp-play{width:50px;height:50px;font-size:20px}.mp-float-0{width:80px}.mp-float-1{width:60px}}.app{min-height:100vh;position:relative;width:100%}@media (min-width: 768px){.app{max-width:100%}}@media (min-width: 1024px){.app{max-width:100%}}*{margin:0;padding:0;box-sizing:border-box}input,textarea,select{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;touch-action:manipulation}:root{--color-brown: #A67C52;--color-brown-light: #CBA077;--color-brown-pale: #F9F4F0;--color-cream: #FFFDF9;--color-warm-white: #FFFFFF;--color-charcoal: #3B3430;--color-rose: #E3A8A8;--color-rose-light: #F4D5D5;--color-rose-pale: #FDF6F6;--color-red-deep: #C98A8A;--color-glass: rgba(255, 253, 249, .85);--color-glass-border: rgba(166, 124, 82, .15);--color-text: #4A3B32;--color-text-light: #8C7361;--color-text-muted: #C0A999;--shadow-soft: 0 4px 20px rgba(166, 124, 82, .1);--shadow-medium: 0 8px 30px rgba(166, 124, 82, .15);--shadow-strong: 0 12px 40px rgba(227, 168, 168, .2);--shadow-glow: 0 0 30px rgba(227, 168, 168, .25);--color-pink: #F4D5D5;--color-pink-light: #FDF6F6;--color-pink-dark: #E3A8A8;--color-purple: #CBA077;--color-purple-light: #F9F4F0;--color-blue: #E3A8A8;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}html{scroll-behavior:smooth}body{font-family:Nunito,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(145deg,#fdf8f5,#fffdf9 35%,#f9f4f0 65%,#fdf8f5);background-attachment:fixed;min-height:100vh;color:var(--color-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 15% 20%,rgba(227,168,168,.08) 0%,transparent 55%),radial-gradient(ellipse at 85% 75%,rgba(166,124,82,.06) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(249,244,240,.2) 0%,transparent 70%);pointer-events:none;z-index:-1}#root{min-height:100vh;position:relative}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-brown-pale)}::-webkit-scrollbar-thumb{background:var(--color-brown-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-brown)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-normal);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.9}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.25)}20%{transform:scale(1.15)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes emojiRain{0%{transform:translateY(-100px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes heartRain{0%{transform:translateY(-60px) scale(.5) rotate(var(--r, 0deg));opacity:0}15%{opacity:1}to{transform:translateY(110vh) scale(1.2) rotate(calc(var(--r, 0deg) + 180deg));opacity:0}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.fade-in{animation:fadeIn .6s ease-out both}.fade-in-scale{animation:fadeInScale .5s ease-out both}.slide-in{animation:slideIn .6s ease-out both}.slide-up{animation:slideUp .5s ease-out both}.float{animation:float 3.5s ease-in-out infinite}.float-slow{animation:floatSlow 5s ease-in-out infinite}.bounce{animation:bounce 2s ease-in-out infinite}.pulse{animation:pulse 2.5s ease-in-out infinite}.heartbeat{animation:heartbeat 1.4s ease-in-out infinite}.wobble{animation:wobble 2s ease-in-out infinite}
