.memories-page{max-width:1200px;min-height:calc(100vh - 60px);margin:0 auto;padding:2rem}.login-prompt-container{justify-content:center;align-items:center;min-height:60vh;display:flex}.login-prompt-card{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:24px;max-width:500px;padding:3rem;box-shadow:0 20px 60px #667eea4d}.login-prompt-icon{margin-bottom:1rem;font-size:4rem}.login-prompt-card h2{color:#fff;margin-bottom:1rem;font-size:1.8rem}.login-prompt-card p{color:#ffffffe6;margin-bottom:2rem;font-size:1rem;line-height:1.6}.discord-login-btn.large{gap:.75rem;padding:1rem 2rem;font-size:1.1rem}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tutorial-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tutorial-modal{background:#fff;border-radius:20px;width:100%;max-width:500px;padding:2rem;box-shadow:0 20px 60px #0000004d}.tutorial-modal h2{text-align:center;color:#333;margin-bottom:1.5rem}.tutorial-steps{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.tutorial-step{align-items:flex-start;gap:1rem;display:flex}.step-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.step-content h3{color:#333;margin-bottom:.25rem;font-size:1rem}.step-content p{color:#666;font-size:.9rem;line-height:1.5}.tutorial-close-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.tutorial-close-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.account-status-section{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:20px;margin-bottom:2rem;padding:1.5rem}.account-status-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.account-status-card h2{margin:0;font-size:1.2rem}.plan-badge{white-space:nowrap;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.plan-badge[data-plan=FREE]{color:#a0a0a0;background:#ffffff1a}.plan-badge[data-plan=PLAN_500]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:inline-block!important}.plan-badge[data-plan=PLAN_1000]{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);display:inline-block!important}.plan-badge[data-plan=FREE]{display:inline-block!important}.storage-info{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.storage-item{flex-direction:column;flex:1;gap:.5rem;min-width:200px;display:flex}.storage-label{color:#ffffffb3;font-size:.85rem}.storage-bar-container{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.storage-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s}.storage-value{font-size:.9rem;font-weight:600}.upgrade-link{color:#f5c542;white-space:nowrap;font-size:.9rem;text-decoration:none}.upgrade-link:hover{text-decoration:underline}.storage-info-vertical{flex-direction:column;gap:1rem;display:flex}.storage-item-vertical{flex-direction:column;gap:.5rem;display:flex}.storage-label-row{justify-content:space-between;align-items:center;display:flex}.storage-bar.warning{background:linear-gradient(90deg,#f59e0b,#ef4444)}.memories-tabs{background:#f0f0f0;border-radius:12px;gap:.5rem;margin-bottom:2rem;padding:.5rem;display:flex}.tab-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.tab-btn.active{color:#333;background:#fff;box-shadow:0 2px 8px #0000001a}.tab-btn:hover:not(.active){background:#ffffff80}.memories-section,.folders-section{margin-bottom:2rem}.section-header{margin-bottom:1.5rem}.section-header h2{color:#333;margin-bottom:.5rem;font-size:1.5rem}.section-description{color:#666;font-size:.9rem}.search-link-hint{color:#999;margin-left:.5rem;font-size:.85rem}.search-link-hint a{color:#667eea;font-weight:500;text-decoration:none}.search-link-hint a:hover{text-decoration:underline}.create-folder-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.create-folder-btn:disabled{opacity:.5;cursor:not-allowed}.memories-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.memory-card{background:#fff;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 20px #00000014}.memory-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.memory-image-container{aspect-ratio:16/9;overflow:hidden}.memory-image{object-fit:cover;width:100%;height:100%}.memory-info{justify-content:space-between;align-items:center;padding:1rem;display:flex}.memory-world-name{color:#333;font-weight:600;text-decoration:none;transition:color .2s}.memory-world-name:hover{color:#667eea}.memory-date{color:#999;font-size:.85rem}.folder-select-empty{text-align:center;padding:2rem}.folder-select-empty p{color:#666;margin-bottom:1rem}.folder-select-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.folder-select-item{cursor:pointer;background:#f8f9fa;border:2px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.folder-select-item:hover:not(:disabled){background:#f0f4ff;border-color:#667eea}.folder-select-item:disabled{opacity:.5;cursor:not-allowed}.folder-select-name{color:#333;font-weight:600}.folder-select-count{color:#999;font-size:.85rem}.memory-card.clickable{cursor:pointer}.modal-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.memory-modal{background:#1a1a2e;border-radius:20px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;position:relative;overflow:hidden}.modal-close-btn{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{background:#fff3}.memory-modal-image{object-fit:contain;background:#000;width:100%;max-height:60vh}.memory-modal-info{text-align:center;padding:1.5rem}.memory-modal-title{color:#fff;margin:0 0 .5rem;font-size:1.3rem}.memory-modal-date{color:#ffffffb3;margin:0;font-size:.9rem}.memory-modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;padding:0 1.5rem 1.5rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.modal-btn.download{color:#fff;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a5a 100%)}.modal-btn.download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.modal-btn.view-world{color:#fff;background:#ffffff1a}.modal-btn.view-world:hover{background:#fff3}.modal-btn.folder{color:#fff;background:#ffffff1a}.modal-btn.folder:hover{background:#fff3}.modal-btn.delete{color:#ff6b6b;background:#ffffff1a}.modal-btn.delete:hover{background:#ff6b6b33}.empty-state{text-align:center;background:#f8f9fa;border-radius:20px;padding:3rem}.empty-state-icon{margin-bottom:1rem;font-size:4rem}.empty-state h3{color:#333;margin-bottom:.5rem;font-size:1.3rem}.empty-state p{color:#666;margin-bottom:1.5rem}.empty-state-btn{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.empty-state-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.coming-soon-notice{text-align:center;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:2px dashed #ddd;border-radius:20px;padding:4rem 2rem}.coming-soon-icon{margin-bottom:1rem;font-size:4rem}.coming-soon-notice h3{color:#333;margin-bottom:.5rem;font-size:1.3rem}.coming-soon-notice p{color:#666;line-height:1.6}.folders-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.folder-card{background:#fff;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 20px #00000014}.folder-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.folder-preview{aspect-ratio:4/3;background:linear-gradient(135deg,#f0f0f0 0%,#e0e0e0 100%);position:relative;overflow:hidden}.folder-preview-images{width:100%;height:100%;position:relative}.folder-preview-images .preview-img{object-fit:cover;border-radius:8px;width:70%;height:70%;position:absolute;box-shadow:0 4px 12px #00000026}.folder-preview-images .preview-0{z-index:1;top:10%;left:5%}.folder-preview-images .preview-1{z-index:2;top:15%;left:20%}.folder-preview-images .preview-2{z-index:3;top:20%;left:35%}.folder-preview-empty{opacity:.5;justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.folder-info{justify-content:space-between;align-items:center;padding:1rem;display:flex;overflow:hidden}.folder-name{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.folder-count{color:#999;flex-shrink:0;margin-left:.5rem;font-size:.85rem}.folder-actions{gap:.5rem;padding:0 1rem 1rem;display:flex}.folder-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:.5rem .75rem;font-size:.85rem;transition:all .2s}.folder-btn.share{color:#333;background:#f0f0f0}.folder-btn.share:hover{background:#e0e0e0}.folder-btn.share.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.folder-btn.delete{color:#ff6b6b;background:#fff0f0;flex:0;padding:.5rem}.folder-btn.delete:hover{background:#ffe0e0}.create-folder-form{flex-direction:column;gap:1.5rem;display:flex}.create-folder-form label{color:#333;flex-direction:column;gap:.5rem;font-weight:600;display:flex}.create-folder-form input,.create-folder-form textarea{border:2px solid #e0e0e0;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.create-folder-form input:focus,.create-folder-form textarea:focus{border-color:#667eea;outline:none}.create-folder-form textarea{resize:vertical;min-height:80px}.error-message{color:#ff6b6b;margin:0;font-size:.9rem}.modal-buttons{gap:1rem;display:flex}.cancel-btn{color:#333;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:background .2s}.cancel-btn:hover{background:#e0e0e0}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:all .2s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.footer{color:#ffffffb3;text-align:center;background:#1a1a2e;padding:2rem}@media (max-width:768px){.memories-page{padding:1rem}.account-status-card{text-align:center;flex-direction:column;gap:1rem}.storage-info{flex-direction:column}.storage-item{width:100%}.memories-grid{grid-template-columns:1fr}.login-prompt-card{padding:2rem}.tutorial-modal{padding:1.5rem}}.memories-filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.filter-select{color:#333;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:20px;min-width:100px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.filter-select:hover{border-color:#667eea}.filter-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea33}.filter-select.world-filter{min-width:180px}.memories-date-groups{flex-direction:column;gap:1.5rem;display:flex}.date-group{background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.date-group-header{border-bottom:1px solid #eee;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.date-icon{font-size:1.1rem}.date-label{color:#333;font-size:1rem;font-weight:600}.memories-grid-compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.memory-card-compact{cursor:pointer;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;transition:all .2s;overflow:hidden}.memory-card-compact:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.memory-thumb-container{aspect-ratio:16/9;overflow:hidden}.memory-thumb{object-fit:cover;width:100%;height:100%;transition:transform .3s}.memory-card-compact:hover .memory-thumb{transform:scale(1.05)}.memory-card-info{justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.memory-world-short{color:#555;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8rem;overflow:hidden}.memory-search-icon{opacity:.6;flex-shrink:0;font-size:.85rem}.memory-card-compact:hover .memory-search-icon{opacity:1}@media (max-width:600px){.memories-filters{flex-direction:column}.filter-select{width:100%}.memories-grid-compact{grid-template-columns:repeat(2,1fr);gap:.75rem}.date-group{padding:1rem}}.supporter-guide-section{background:linear-gradient(135deg,#f8f0ff 0%,#e8e0ff 100%);border:1px solid #d8c8ff;border-radius:16px;margin-top:2rem;padding:2rem}.supporter-guide-section h2{color:#333;margin-bottom:1rem;font-size:1.25rem}.fanbox-link-btn{color:#fff;background:linear-gradient(135deg,#ff6b6b 0%,#ff8e53 100%);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.fanbox-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b4d}.supporter-steps{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.supporter-step{align-items:center;gap:.75rem;display:flex}.supporter-step .step-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.supporter-step .step-text{color:#333;font-size:.95rem}.supporter-note{color:#666;margin-top:1rem;font-size:.85rem}@media (max-width:600px){.supporter-guide-section{padding:1.5rem}.supporter-step .step-text{font-size:.85rem}.account-status-card{flex-direction:column;align-items:flex-start;gap:.75rem}.account-status-card h2{font-size:1rem}.plan-badge{padding:.4rem .8rem;font-size:.8rem}}.clickable{cursor:pointer;transition:opacity .2s}.clickable:hover{opacity:.85}.folder-detail-modal{background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:80vh;padding:2rem;animation:.3s modalSlideUp;position:relative;overflow-y:auto}.folder-detail-modal .modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.folder-detail-modal .modal-close:hover{color:#374151;background:#e5e7eb;transform:scale(1.1)}.folder-detail-title{color:#333;margin-bottom:.5rem;font-size:1.5rem}.folder-detail-count{color:#666;margin-bottom:1.5rem;font-size:.95rem}.folder-detail-loading{color:#666;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.folder-detail-empty{color:#666;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.folder-detail-empty .empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.folder-detail-empty .empty-hint{color:#999;margin-top:.5rem;font-size:.85rem}.folder-detail-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.folder-memory-item{background:#f8f8f8;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #00000014}.folder-memory-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.folder-memory-image{aspect-ratio:16/9;object-fit:cover;cursor:pointer;width:100%;transition:opacity .2s}.folder-memory-image:hover{opacity:.9}.folder-memory-info{justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;display:flex}.folder-memory-world{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.folder-memory-remove{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .5rem;font-size:.9rem;transition:all .2s}.folder-memory-remove:hover{color:#ef4444;background:#fee2e2}@media (max-width:600px){.folder-detail-modal{width:95%;max-height:85vh;padding:1.5rem}.folder-detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.folder-memory-info{padding:.5rem}.folder-memory-world{font-size:.75rem}}.confirm-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:400px;padding:2rem;animation:.3s modalSlideUp}.confirm-title{color:#333;margin-bottom:1rem;font-size:1.25rem}.confirm-message{color:#333;margin-bottom:.5rem;font-size:1rem}.confirm-note{color:#666;margin-bottom:1.5rem;font-size:.85rem}.confirm-actions{justify-content:center;gap:1rem;display:flex}.confirm-btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.confirm-btn.cancel{color:#374151;background:#e5e7eb}.confirm-btn.cancel:hover{background:#d1d5db}.confirm-btn.remove{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.confirm-btn.remove:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.toast-notification{color:#fff;z-index:10000;opacity:0;visibility:hidden;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:500;transition:all .3s;display:flex;position:fixed;top:100px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 8px 24px #10b98159}.toast-notification.visible{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.toast-icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;display:flex}.search-here-link{color:#667eea;cursor:pointer;text-decoration:underline;transition:color .2s}.search-here-link:hover{color:#764ba2}
