.card-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}.card-modal{width:100%;max-width:420px;max-height:80vh;background:white;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.18);animation:modalSlideUp .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.card-header{justify-content:space-between;padding:18px 20px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.card-header,.card-title{display:flex;align-items:center}.card-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:0;gap:6px}.card-subtitle{font-weight:400;color:#9CA3AF;font-size:14px}.card-close{width:32px;height:32px;border-radius:50%;border:none;background:#F9FAFB;color:#6B7280;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.card-close:hover{background:#F3F4F6;color:#1a1a2e}@media (max-width:640px){.profile-banner{height:160px;border-radius:12px}.profile-avatar{width:72px;height:72px;font-size:26px}.profile-name{font-size:18px}.profile-tab{padding:12px 14px;font-size:13px}.profile-tab-icon{display:none}.profile-btn-edit,.profile-btn-follow{padding:8px 16px;font-size:13px;min-width:90px}}@media (max-width:480px){.fw-overlay{align-items:flex-end;padding:0}.fw-modal{max-height:90vh;border-radius:20px 20px 0 0;max-width:100%}}.cem-overlay{position:fixed;inset:0;background:rgba(15,10,30,.55);backdrop-filter:blur(6px);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .18s ease}.cem-modal{width:100%;max-width:480px;max-height:92vh;background:white;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 32px 80px rgba(80,20,180,.2),0 0 0 1px rgba(124,58,237,.08);animation:modalSlideUp .25s cubic-bezier(.34,1.56,.64,1)}.cem-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;flex-shrink:0}.cem-title{font-size:18px;font-weight:800;color:#1a1a2e;margin:0;letter-spacing:-.3px}.cem-close{width:36px;height:36px;border-radius:50%;border:none;background:#F3F4F6;color:#6B7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.cem-close:hover{background:#EDE9FE;color:var(--purple)}.cem-tabs{display:flex;position:relative;padding:0 24px;margin-top:16px;border-bottom:2px solid #f3f4f6;flex-shrink:0}.cem-tab{flex:1;padding:10px 0;background:none;border:none;font-family:var(--font);font-size:13px;font-weight:500;color:#9CA3AF;cursor:pointer;position:relative;z-index:1;transition:color .15s}.cem-tab.active{color:var(--purple);font-weight:700}.cem-tab-indicator{position:absolute;bottom:-2px;height:2px;background:var(--purple);border-radius:2px;transition:left .2s cubic-bezier(.34,1.2,.64,1)}.cem-body{flex:1;overflow-y:auto;padding:24px}.cem-section{display:flex;flex-direction:column;gap:20px}.cem-hint{font-size:13px;color:#9CA3AF;margin:0}.cem-sub{font-size:12px;color:#C4B5FD;margin:0}.cem-zone{position:relative;overflow:hidden;border-radius:16px;border:2px dashed #ddd6fe;cursor:pointer;background:#faf8ff;transition:border-color .15s,background .15s}.cem-zone:hover{border-color:var(--purple);background:#f5f0ff}.cem-zone.drag{border-color:var(--purple);background:#ede9fe}.cem-zone.busy{cursor:wait;pointer-events:none}.cem-zone.square{width:140px;height:140px;border-radius:50%;margin:0 auto}.cem-zone.wide{width:100%;aspect-ratio:3/1}.cem-avatar-preview-wrap{display:flex;justify-content:center}.cem-zone-placeholder{width:100%;height:100%;color:#C4B5FD;min-height:80px}.cem-zone-overlay,.cem-zone-placeholder{display:flex;align-items:center;justify-content:center}.cem-zone-overlay{position:absolute;inset:0;background:rgba(124,58,237,0);transition:background .15s}.cem-zone.busy .cem-zone-overlay,.cem-zone:hover .cem-zone-overlay{background:rgba(124,58,237,.45)}.cem-zone-hint{display:flex;align-items:center;gap:6px;color:white;font-size:13px;font-weight:600;opacity:0;transition:opacity .15s}.cem-zone:hover .cem-zone-hint{opacity:1}.cem-field{display:flex;flex-direction:column;gap:6px}.cem-label{font-size:13px;font-weight:600;color:#374151}.cem-input,.cem-textarea{width:100%;padding:10px 14px;border-radius:12px;border:1.5px solid #e5e7eb;font-family:var(--font);font-size:14px;color:#1a1a2e;background:#FAFAFA;outline:none;transition:border-color .15s,background .15s,box-shadow .15s;box-sizing:border-box}.cem-input:focus,.cem-textarea:focus{border-color:var(--purple);background:white;box-shadow:0 0 0 3px rgba(124,58,237,.08)}.cem-input.error{border-color:#EF4444}.cem-textarea{resize:vertical;min-height:80px;line-height:1.6}.cem-input-wrap{position:relative;display:flex;align-items:center}.cem-at{position:absolute;left:14px;color:var(--purple);font-weight:700;font-size:14px;pointer-events:none}.cem-input.with-at{padding-left:30px}.cem-error{font-size:12px;color:#EF4444;margin:0}.cem-char-count{font-size:11px;color:#D1D5DB;text-align:right;margin:0}.cem-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f3f4f6;flex-shrink:0}.cem-btn-cancel{padding:9px 20px;border-radius:var(--radius-full);border:1.5px solid #e5e7eb;background:white;font-family:var(--font);font-size:13px;color:#6B7280;cursor:pointer;transition:all .15s}.cem-btn-cancel:hover{border-color:#9CA3AF}.cem-btn-save{padding:9px 24px;border-radius:var(--radius-full);border:none;background:var(--purple);color:white;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:80px;transition:opacity .15s,transform .15s;box-shadow:0 2px 10px rgba(124,58,237,.3)}.cem-btn-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.cem-btn-save:disabled{opacity:.6;cursor:wait}.cem-spinner{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(124,58,237,.25);border-top:2.5px solid var(--purple);border-radius:50%;animation:spin .6s linear infinite}.cem-spinner.white{border-color:white rgba(255,255,255,.3) rgba(255,255,255,.3)}@media (max-width:480px){.cem-modal{max-height:100vh;border-radius:24px 24px 0 0}.cem-overlay{align-items:flex-end;padding:0}.cem-zone.wide{aspect-ratio:2/1}}.cem-cropper-wrap{display:flex;flex-direction:column;gap:14px}.cem-cropper-canvas{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#0f0f0f;user-select:none;touch-action:none;cursor:default}.cem-cropper-img{display:block;width:100%;max-height:380px;object-fit:contain;pointer-events:none}.cem-crop-dim{position:absolute;background:rgba(0,0,0,.55);pointer-events:none}.cem-crop-box{position:absolute;border:1.5px solid rgba(255,255,255,.85);cursor:move;box-shadow:0 0 0 9999px rgba(0,0,0,0)}.cem-crop-grid{position:absolute;inset:0;pointer-events:none}.cem-grid-v{top:0;bottom:0;width:1px}.cem-grid-h,.cem-grid-v{position:absolute;background:rgba(255,255,255,.25)}.cem-grid-h{left:0;right:0;height:1px}.cem-handle{position:absolute;width:14px;height:14px;background:white;border:1.5px solid rgba(124,58,237,.7);border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.3)}.cem-handle-n{top:-7px}.cem-handle-n,.cem-handle-s{left:50%;transform:translateX(-50%)}.cem-handle-s{bottom:-7px}.cem-handle-e{right:-7px}.cem-handle-e,.cem-handle-w{top:50%;transform:translateY(-50%)}.cem-handle-w{left:-7px}.cem-handle-ne{top:-7px;right:-7px}.cem-handle-nw{top:-7px;left:-7px}.cem-handle-se{bottom:-7px;right:-7px}.cem-handle-sw{bottom:-7px;left:-7px}.cem-cropper-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.shop-stats-bar{display:flex;align-items:center;gap:10px;font-size:13px;color:#9CA3AF;margin-bottom:20px}.shop-stat{font-size:13px;color:#6B7280}.shop-stat-divider{color:#D1D5DB}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.shop-card{border-radius:14px;border:1.5px solid #f3f4f6;overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;background:white}.shop-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(124,58,237,.12);border-color:#DDD6FE}.shop-card-thumb{position:relative;aspect-ratio:1;background:linear-gradient(135deg,#f5f0ff,#ede9fe);overflow:hidden}.shop-card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:36px}.shop-card-platform{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.55);color:white;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;backdrop-filter:blur(4px);text-transform:capitalize}.shop-card-body{padding:12px 12px 10px}.shop-card-name{font-size:13px;font-weight:600;color:#1a1a2e;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card-desc{font-size:12px;color:#9CA3AF;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.shop-card-footer{display:flex;align-items:center;justify-content:space-between}.shop-card-price{font-size:13px;font-weight:700;color:var(--purple)}.shop-card-free{font-size:12px;color:#10B981;font-weight:600}.shop-card-clicks{display:flex;align-items:center;gap:4px;font-size:11px;color:#C4B5FD}.shop-card-sk{pointer-events:none}.shop-empty-icon{font-size:52px;margin-bottom:8px;animation:floatBob 3s ease-in-out infinite}@keyframes floatBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.shop-pending-badge{margin-top:8px;padding:6px 18px;border-radius:var(--radius-full);background:#FEF3C7;color:#D97706;font-size:13px;font-weight:600}.shop-modal-overlay{position:fixed;inset:0;background:rgba(15,10,30,.5);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}.shop-modal{width:100%;max-width:440px;background:white;border-radius:20px;overflow:hidden;box-shadow:0 24px 64px rgba(80,20,180,.18);animation:modalSlideUp .22s cubic-bezier(.34,1.56,.64,1)}.shop-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.shop-modal-header h3{font-size:17px;font-weight:800;color:#1a1a2e;margin:0}.shop-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:16px}@media (max-width:640px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:12px}}.profile-home-row:hover,.shop-home:hover{background:#efb6ff3e;border-radius:12px;color:white}